summaryrefslogtreecommitdiff
path: root/TAO/CIAO/CCF/CCF
diff options
context:
space:
mode:
authorboris <boris@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-12-22 21:35:34 +0000
committerboris <boris@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-12-22 21:35:34 +0000
commit3c9f2b8a237b67f274ca8d6f329a37f403693a8e (patch)
treebb7c9cefe32caa34212024cba9a2aa902c0c1567 /TAO/CIAO/CCF/CCF
parent6f921f59b6f48d9aaa159d0989b589dc8246bdcc (diff)
downloadATCD-3c9f2b8a237b67f274ca8d6f329a37f403693a8e.tar.gz
IDL2
Diffstat (limited to 'TAO/CIAO/CCF/CCF')
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2.mpc76
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2.vcproj758
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/LexicalAnalyzer.cpp529
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/LexicalAnalyzer.hpp225
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Makefile.alt19
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Makefile.archive48
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Parser.cpp562
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Parser.hpp589
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticAction.hpp20
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SyntaxTree.hpp21
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Token.cpp13
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Token.hpp201
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal.hpp21
13 files changed, 0 insertions, 3082 deletions
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2.mpc b/TAO/CIAO/CCF/CCF/IDL2/IDL2.mpc
deleted file mode 100644
index 647a541c4bd..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2.mpc
+++ /dev/null
@@ -1,76 +0,0 @@
-//$Id$
-project {
-
- staticname = IDL2
-
- // @@ (diego) This hack is needed because MPC doesn't generate
- // static-only projects for gnuace
- verbatim(gnuace, top) {
- static_libs_only = 1
- }
-
- includes += ../.. $(UTILITY_ROOT) $(BOOST_ROOT)
-
- Source_Files {
- LexicalAnalyzer.cpp
- Parser.cpp
-
- SemanticAction/Operation.cpp
- SyntaxTree/BuiltIn.cpp
- SyntaxTree/Elements.cpp
- SyntaxTree/ElementsCtor.cpp
- SyntaxTree/Interface.cpp
- SyntaxTree/InterfaceCtor.cpp
- SyntaxTree/Module.cpp
- SyntaxTree/Operation.cpp
- SyntaxTree/Translation.cpp
- SyntaxTree/TranslationCtor.cpp
- SyntaxTree/ValueType.cpp
- SyntaxTree/ValueTypeCtor.cpp
- Traversal/BuiltIn.cpp
- Traversal/Elements.cpp
- Traversal/Interface.cpp
- Traversal/Module.cpp
- Traversal/Operation.cpp
- Traversal/Translation.cpp
- }
-
- Header_Files {
- Parsing/Action.hpp
- Parsing/Elements.hpp
- Parsing/Recovery.hpp
- LexicalAnalyzer.hpp
- Parser.hpp
- SemanticAction.hpp
- SyntaxTree.hpp
- Token.hpp
- Traversal.hpp
- SemanticAction/Impl/Attribute.hpp
- SemanticAction/Impl/Elements.hpp
- SemanticAction/Impl/Factory.hpp
- SemanticAction/Impl/Include.hpp
- SemanticAction/Impl/Interface.hpp
- SemanticAction/Impl/Module.hpp
- SemanticAction/Impl/Operation.hpp
- SemanticAction/Attribute.hpp
- SemanticAction/Elements.hpp
- SemanticAction/Factory.hpp
- SemanticAction/Include.hpp
- SemanticAction/Interface.hpp
- SemanticAction/Module.hpp
- SemanticAction/Operation.hpp
- SyntaxTree/BuiltIn.hpp
- SyntaxTree/Elements.hpp
- SyntaxTree/Interface.hpp
- SyntaxTree/Module.hpp
- SyntaxTree/Operation.hpp
- SyntaxTree/Translation.hpp
- SyntaxTree/ValueType.hpp
- Traversal/BuiltIn.hpp
- Traversal/Elements.hpp
- Traversal/Interface.hpp
- Traversal/Module.hpp
- Traversal/Operation.hpp
- Traversal/Translation.hpp
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2.vcproj b/TAO/CIAO/CCF/CCF/IDL2/IDL2.vcproj
deleted file mode 100644
index 8af0f2191c5..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2.vcproj
+++ /dev/null
@@ -1,758 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="IDL2"
- ProjectGUID="{78A62970-330F-4FF1-9B0E-74F689A4EA4F}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectDir)"
- IntermediateDirectory="$(ProjectDir)/Debug"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/wd4290 /wd4800 /wd4250 /wd4355"
- Optimization="0"
- AdditionalIncludeDirectories="../.."
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- DisableLanguageExtensions="FALSE"
- ForceConformanceInForLoopScope="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/IDL2.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectDir)"
- IntermediateDirectory="$(ProjectDir)/Release"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/wd4290 /wd4800 /wd4250 /wd4355"
- AdditionalIncludeDirectories="../.."
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="4"
- DisableLanguageExtensions="FALSE"
- ForceConformanceInForLoopScope="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/IDL2.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath=".\LexicalAnalyzer.cpp">
- </File>
- <File
- RelativePath=".\Parser.cpp">
- </File>
- <File
- RelativePath=".\Token.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\LexicalAnalyzer.hpp">
- </File>
- <File
- RelativePath=".\Parser.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree.hpp">
- </File>
- <File
- RelativePath=".\Token.hpp">
- </File>
- <File
- RelativePath=".\Traversal.hpp">
- </File>
- </Filter>
- <Filter
- Name="SyntaxTree"
- Filter="">
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx">
- <File
- RelativePath=".\SyntaxTree\BuiltIn.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Elements.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\ElementsCtor.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Interface.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\InterfaceCtor.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Member.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Module.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Operation.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Sequence.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Struct.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SyntaxTree\Translation.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\TranslationCtor.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Typedef.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\TypeId.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\ValueType.cpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\ValueTypeCtor.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd">
- <File
- RelativePath=".\SyntaxTree\BuiltIn.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Elements.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Interface.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Member.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Module.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Operation.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Sequence.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Struct.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Translation.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\Typedef.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\TypeId.hpp">
- </File>
- <File
- RelativePath=".\SyntaxTree\ValueType.hpp">
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Parsing"
- Filter="">
- <Filter
- Name="Source Files"
- Filter="">
- </Filter>
- <Filter
- Name="Header Files"
- Filter="">
- <File
- RelativePath=".\Parsing\Action.hpp">
- </File>
- <File
- RelativePath=".\Parsing\Elements.hpp">
- </File>
- <File
- RelativePath=".\Parsing\Recovery.hpp">
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Traversal"
- Filter="">
- <Filter
- Name="Source Files"
- Filter="">
- <File
- RelativePath=".\Traversal\BuiltIn.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\Elements.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\Interface.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\Member.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\Module.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\Operation.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\Sequence.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\Struct.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\Translation.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\Typedef.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Traversal\TypeId.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="">
- <File
- RelativePath=".\Traversal\BuiltIn.hpp">
- </File>
- <File
- RelativePath=".\Traversal\Elements.hpp">
- </File>
- <File
- RelativePath=".\Traversal\Interface.hpp">
- </File>
- <File
- RelativePath=".\Traversal\Member.hpp">
- </File>
- <File
- RelativePath=".\Traversal\Module.hpp">
- </File>
- <File
- RelativePath=".\Traversal\Operation.hpp">
- </File>
- <File
- RelativePath=".\Traversal\Sequence.hpp">
- </File>
- <File
- RelativePath=".\Traversal\Struct.hpp">
- </File>
- <File
- RelativePath=".\Traversal\Translation.hpp">
- </File>
- <File
- RelativePath=".\Traversal\Typedef.hpp">
- </File>
- <File
- RelativePath=".\Traversal\TypeId.hpp">
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="SemanticAction"
- Filter="">
- <Filter
- Name="Source Files"
- Filter="">
- <File
- RelativePath=".\SemanticAction\Operation.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="">
- <File
- RelativePath=".\SemanticAction\Attribute.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Elements.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Factory.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Include.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Interface.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Member.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Module.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Operation.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Struct.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Typedef.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\TypeId.hpp">
- </File>
- </Filter>
- <Filter
- Name="Impl"
- Filter="">
- <Filter
- Name="Source Files"
- Filter="">
- <File
- RelativePath=".\SemanticAction\Impl\Attribute.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Elements.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Factory.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Include.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Interface.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Member.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Module.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Operation.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)3.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)3.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Struct.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Typedef.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)2.obj"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\TypeId.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)/$(InputName)1.obj"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="">
- <File
- RelativePath=".\SemanticAction\Impl\Attribute.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Elements.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Factory.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Include.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Interface.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Member.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Module.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Operation.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Struct.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\Typedef.hpp">
- </File>
- <File
- RelativePath=".\SemanticAction\Impl\TypeId.hpp">
- </File>
- </Filter>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/TAO/CIAO/CCF/CCF/IDL2/LexicalAnalyzer.cpp b/TAO/CIAO/CCF/CCF/IDL2/LexicalAnalyzer.cpp
deleted file mode 100644
index 2a0817b57b2..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/LexicalAnalyzer.cpp
+++ /dev/null
@@ -1,529 +0,0 @@
-// file : CCF/IDL2/LexicalAnalyzer.cpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#include "CCF/IDL2/LexicalAnalyzer.hpp"
-
-#include <iostream>
-
-namespace CCF
-{
- namespace IDL2
- {
- LexicalAnalyzer::
- LexicalAnalyzer (TokenStream<char>& is)
- : loc_ ("C"),
- is_ (is),
- after_nl (true),
- line_ (0)
- {
- // Keywords (alphabetic order).
- //
-
- keyword_table_.insert ("abstract" );
- keyword_table_.insert ("attribute" );
- keyword_table_.insert ("factory" );
- keyword_table_.insert ("in" );
- keyword_table_.insert ("include" );
- keyword_table_.insert ("inout" );
- keyword_table_.insert ("interface" );
- keyword_table_.insert ("local" );
- keyword_table_.insert ("module" );
- keyword_table_.insert ("out" );
- keyword_table_.insert ("sequence" );
- keyword_table_.insert ("sinclude" );
- keyword_table_.insert ("struct" );
- keyword_table_.insert ("supports" );
- keyword_table_.insert ("typedef" );
- keyword_table_.insert ("typeid" );
- keyword_table_.insert ("typeprefix");
-
- // Identifiers (alphabetic order).
- //
- // Note: if you are planning to hack something up
- // in the code below, first make sure you understand
- // how everything works!
- //
-
- IdentifierTreeNode end;
-
- identifier_tree_["Object" ] = end;
- identifier_tree_["ValueBase"] = end;
- identifier_tree_["any" ] = end;
- identifier_tree_["boolean" ] = end;
- identifier_tree_["char" ] = end;
- identifier_tree_["double" ] = end;
- identifier_tree_["float" ] = end;
-
- IdentifierTreeNode long_;
- long_["" ] = end;
- long_["double"] = end;
- long_["long" ] = end;
-
- identifier_tree_["long" ] = long_;
- identifier_tree_["octet" ] = end;
- identifier_tree_["short" ] = end;
- identifier_tree_["string" ] = end;
-
- IdentifierTreeNode unsigned_long_;
- unsigned_long_["" ] = end;
- unsigned_long_["long"] = end;
-
- IdentifierTreeNode unsigned_;
- unsigned_["long" ] = unsigned_long_;
- unsigned_["short" ] = end;
-
- identifier_tree_["unsigned" ] = unsigned_;
- identifier_tree_["void" ] = end;
- identifier_tree_["wchar" ] = end;
- identifier_tree_["wstring" ] = end;
-
- // punctuation (pair-matched).
- //
- punctuation_table_.insert (":");
- punctuation_table_.insert (",");
- punctuation_table_.insert ("{");
- punctuation_table_.insert ("}");
- punctuation_table_.insert ("(");
- punctuation_table_.insert (")");
- punctuation_table_.insert ("<");
- punctuation_table_.insert (">");
- punctuation_table_.insert (";");
- }
-
- LexicalAnalyzer::Char LexicalAnalyzer::
- get_from_stream ()
- {
- int_type i = is_.next ();
-
- if (after_nl)
- {
- after_nl = false;
- line_++;
- }
-
- if (i == '\n') after_nl = true;
-
- return Char (i, line_);
- }
-
-
- LexicalAnalyzer::Char LexicalAnalyzer::
- get ()
- {
- if (!buffer_.empty ())
- {
- Char c = buffer_.front ();
- buffer_.pop_front ();
- return c;
- }
- else
- {
- return get_from_stream ();
- }
- }
-
- LexicalAnalyzer::Char LexicalAnalyzer::
- peek ()
- {
- if (buffer_.empty ())
- {
- buffer_.push_back (get_from_stream ());
- }
-
- return buffer_.front ();
- }
-
- LexicalAnalyzer::Char LexicalAnalyzer::
- peek_more ()
- {
- if (buffer_.size () < 2)
- {
- buffer_.push_back (get_from_stream ());
- }
-
- return buffer_.at (1);
- }
-
- void LexicalAnalyzer::
- ret (Char const& c)
- {
- buffer_.push_front (c);
- }
-
- TokenPtr LexicalAnalyzer::
- next ()
- {
- Char c = skip_space (get ());
-
- if (c.is_eof ()) return TokenPtr (new EndOfStream (c.line ()));
-
- if (c.is_alpha (loc_)
- || c == '_'
- || (c == ':' && peek () == ':')) return identifier (c);
-
- TokenPtr token;
-
- if (string_literal (c, token)) return token;
-
- if (punctuation (c, token)) return token;
-
-
- std::cerr << c.line () << ": error: unable to derive any token "
- << "from \'" << c.char_ () << "\'" << std::endl;
-
- //@@ I should return something special here. Perhaps error recovery
- // should happen.
- return TokenPtr (new EndOfStream (c.line ()));
- }
-
- LexicalAnalyzer::Char LexicalAnalyzer::
- skip_space (Char c)
- {
- bool first (true);
-
- while (true)
- {
- if (!first) c = get ();
- else first = false;
-
- if (c.is_eof ()) return c;
-
- // Handling spaces
- if (c.is_space (loc_)) continue;
-
- // Handling C++ comments
- if (c == '/' && peek () == '/')
- {
- cxx_comment (c);
- continue;
- }
-
- // Handling C comments
- if (c == '/' && peek () == '*')
- {
- c_comment (c);
- continue;
- }
-
- return c;
- }
- }
-
-
- void LexicalAnalyzer::
- cxx_comment (Char c)
- {
- while (c != '\n')
- {
- c = get ();
-
- if (c.is_eof ())
- {
- std::cerr << "warning: no new line at the end of file"
- << std::endl;
-
- //@@ I wonder if it's ok to call get () again after getting eof.
- //@@ no, it's not: std::istream throws exception (when enabled) on
- // second attempt.
- break;
- }
- }
- }
-
- void LexicalAnalyzer::
- c_comment (Char c)
- {
- get (); // get '*'
-
- do
- {
- c = get ();
-
- if (c.is_eof ())
- {
- std::cerr << "error: end of file before C-style comment finished"
- << std::endl;
- return;
-
- //@@ I wonder if it's ok to call get () again after getting eof.
- // No, it is not.
- }
-
- //std::cerr << "lexer: c_comment: read character \'" << c << "\'"
- // << std::endl;
- }
- while (c != '*' || peek () != '/');
-
- //std::cerr << "lexer: c_comment: finished C-comment \'" << c
- // << "\',\'" << to_char_type (peek ())
- // << "\'" << std::endl;
-
- get (); // get '/'
- }
-
- bool LexicalAnalyzer::
- read_simple_identifier (std::string& lexeme, CharBuffer& buf)
- {
- Char c = skip_space (get ());
-
- buf.push_back (c);
-
- if (c.is_eof ()) return false;
-
- if (c.is_alpha (loc_) || c == '_')
- {
- lexeme += c.char_ ();
-
- while (true)
- {
- c = peek ();
-
- if (c.is_eof ())
- {
- std::cerr << "warning: no new line at the end of file"
- << std::endl;
- break;
- }
-
- if (c.is_alnum (loc_) || c == '_')
- {
- buf.push_back (get ());
- lexeme += c.char_ ();
- continue;
- }
-
- break;
- }
-
- return true;
- }
-
- return false;
- }
-
- bool LexicalAnalyzer::
- traverse_identifier_tree (std::string& lexeme,
- IdentifierTreeNode const& node)
- {
- if (node.map_.empty ()) return true;
-
- CharBuffer buf;
- std::string part;
-
- if (read_simple_identifier (part, buf))
- {
- IdentifierTreeNode::PrefixMap::const_iterator i (
- node.map_.find (part));
-
- if (i != node.map_.end ())
- {
- if (traverse_identifier_tree (part, i->second))
- {
- lexeme += " " + part;
- return true;
- }
- }
- }
-
- // Return characters to the buffer in case we couldn't
- // match anything.
-
- for(;!buf.empty (); buf.pop_back ()) ret (buf.back ());
-
- // Check is the node.map_ contains empty key which indicates
- // that what we've got is good enough.
- //
- return node.map_.find ("") != node.map_.end ();
- }
-
-
- TokenPtr LexicalAnalyzer::
- identifier (Char first)
- {
- Char c (first);
-
- std::string lexeme;
-
- enum
- {
- SIMPLE,
- SCOPED,
- OTHER
- } type = SIMPLE;
-
- if (c == ':')
- {
- if((c = get ()) != ':')
- {
- std::cerr << "error: " << c.line () << ": \':\' expected."
- << std::endl;
-
- return TokenPtr (new EndOfStream (c.line ()));
- //@@ error handling is lame for lexical analyzer.
- }
-
- lexeme = "::";
- type = SCOPED;
- c = get ();
- }
-
- // First caracter of an identifier.
- //
- if (c.is_eof ())
- {
- std::cerr << "error: invalid identifier" << std::endl;
- return TokenPtr (new EndOfStream (c.line ()));
- }
-
- if (c.is_alpha (loc_) || c == '_')
- {
- lexeme += c.char_ ();
- }
- else
- {
- std::cerr << "error: invalid identifier" << std::endl;
- return TokenPtr (new EndOfStream (c.line ()));
- }
-
- while (true)
- {
- c = peek ();
-
- if (c.is_eof ())
- {
- std::cerr << "warning: no new line at the end of file"
- << std::endl;
- break;
- }
-
- // std::cerr << "lexer::identifier: peeking on \'" << c.char_ ()
- // << "\'; current lexeme \'" << lexeme << "\'"
- // << std::endl;
-
- if (c.is_alnum (loc_) || c == '_')
- {
- get ();
- lexeme += c.char_ ();
- continue;
- }
-
- if (c == ':' && peek_more () == ':')
- {
- get ();
- get ();
- lexeme += "::";
- if (type == SIMPLE) type = OTHER;
- continue;
- }
-
- break;
- }
-
- //std::cerr << "lexer: found identifier with lexeme \'"
- // << lexeme << "\'" << std::endl;
-
- if (type == SIMPLE)
- {
- // Check if it's a keyword.
- {
- KeywordTable::const_iterator i (keyword_table_.find (lexeme));
-
- if (i != keyword_table_.end ())
- {
- return TokenPtr (new Keyword (*i, first.line ()));
- }
- }
-
- // Check if it is a reserved identifier.
- //
-
- {
- IdentifierTreeNode::PrefixMap::const_iterator i (
- identifier_tree_.map_.find (lexeme));
-
- if (i != identifier_tree_.map_.end ())
- {
- if (traverse_identifier_tree (lexeme, i->second))
- {
- return TokenPtr (
- new SimpleIdentifier (lexeme, first.line ()));
- }
- else
- {
- //@@ error
- }
- }
- }
-
- // Default to SimpleIdentifier.
- //
- return TokenPtr (new SimpleIdentifier (lexeme, line_));
- }
- else if (type == SCOPED)
- {
- return TokenPtr (new ScopedIdentifier (lexeme, first.line ()));
- }
- else //type == OTHER
- {
- return TokenPtr (new Identifier (lexeme, first.line ()));
- }
- }
-
- bool LexicalAnalyzer::
- punctuation (Char c, TokenPtr& token)
- {
- PunctuationTable::const_iterator i = punctuation_table_.begin ();
-
- while (true)
- {
- for (;i != punctuation_table_.end () && (*i)[0] != c; ++i);
-
- if (i == punctuation_table_.end ()) return false;
-
- // if it's a two-character punctuation
- if (i->size () == 2)
- {
- //@@ this code is broken.
- abort ();
-
- if ((*i)[1] != peek ())
- {
- // move on to the next candidate
- ++i;
- continue;
- }
- }
-
- token = TokenPtr (new Punctuation (*i, c.line ()));;
- return true;
- }
- }
-
- bool LexicalAnalyzer::
- string_literal (Char c, TokenPtr& token)
- {
- if (c != '\"') return false;
-
- std::string lexeme;
-
- while (true)
- {
- Char c = get ();
-
- if (c.is_eof ())
- {
- std::cerr << "warning: end of file while reading string literal"
- << std::endl;
- break;
- }
-
- if (c == '\"') break;
- else lexeme += c.char_ ();
- }
-
- token = TokenPtr (new StringLiteral (lexeme, c.line ()));
- return true;
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/LexicalAnalyzer.hpp b/TAO/CIAO/CCF/CCF/IDL2/LexicalAnalyzer.hpp
deleted file mode 100644
index 3eee5f282c0..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/LexicalAnalyzer.hpp
+++ /dev/null
@@ -1,225 +0,0 @@
-// file : CCF/IDL2/LexicalAnalyzer.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_IDL2_LEXICAL_ANALYZER_HPP
-#define CCF_IDL2_LEXICAL_ANALYZER_HPP
-
-#include <set>
-#include <map>
-#include <deque>
-#include <locale>
-#include <cctype>
-#include <string>
-#include <istream>
-
-#include "CCF/CompilerElements/TokenStream.hpp"
-
-#include "CCF/IDL2/Token.hpp"
-
-namespace CCF
-{
- namespace IDL2
- {
- //@@ Call to get() after eof is illegal.
- //
- //
-
- class LexicalAnalyzer : public TokenStream<TokenPtr>
- {
- public:
- virtual
- ~LexicalAnalyzer () throw () {}
-
- public:
- LexicalAnalyzer (TokenStream<char>& is);
-
- virtual TokenPtr
- next ();
-
- protected:
- typedef
- TokenStream<char>::int_type
- int_type;
-
- typedef
- TokenStream<char>::char_type
- char_type;
-
- typedef
- TokenStream<char>::traits
- traits;
-
- struct Char
- {
- Char (int_type c, unsigned long line)
- : c_ (c), line_ (line)
- {
- }
-
- public:
- bool
- is_eof () const
- {
- return !traits::not_eof (c_);
- }
-
- bool
- is_alpha (std::locale const& l) const
- {
- return std::isalpha (char_ (), l);
- }
-
- bool
- is_alnum (std::locale const& l) const
- {
- return std::isalnum (char_ (), l);
- }
-
- bool
- is_space (std::locale const& l) const
- {
- return std::isspace (char_ (), l);
- }
-
- public:
- char_type
- char_ () const
- {
- return traits::to_char_type (c_);
- }
-
- unsigned long
- line () const
- {
- return line_;
- }
-
- public:
- friend bool
- operator== (Char const& a, char b)
- {
- return !a.is_eof () && a.char_ () == b;
- }
-
- friend bool
- operator== (char a, Char const& b)
- {
- return b == a;
- }
-
- friend bool
- operator!= (Char const& a, char b)
- {
- return a.is_eof () || a.char_ () != b;
- }
-
- friend bool
- operator!= (char a, Char const& b)
- {
- return b != a;
- }
-
- private:
- int_type c_;
- unsigned long line_;
- };
-
-
- protected:
- virtual Char
- get ();
-
- virtual Char
- peek ();
-
- virtual Char
- peek_more ();
-
- virtual void
- ret (Char const& c);
-
- /*
- char_type
- to_char_type (int_type i);
- */
-
- virtual void
- cxx_comment (Char c);
-
- virtual void
- c_comment (Char c);
-
- virtual Char
- skip_space (Char c);
-
- virtual TokenPtr
- identifier (Char c);
-
- virtual bool
- string_literal (Char c, TokenPtr& token);
-
- virtual bool
- punctuation (Char c, TokenPtr& token);
-
- protected:
- typedef
- std::set<std::string>
- KeywordTable;
-
- struct IdentifierTreeNode
- {
- typedef
- std::map<std::string, IdentifierTreeNode>
- PrefixMap;
-
- IdentifierTreeNode&
- operator[] (char const* key)
- {
- return map_[key];
- }
-
- PrefixMap map_;
- };
-
- typedef
- std::set<std::string>
- PunctuationTable;
-
- typedef
- std::deque<Char>
- CharBuffer;
-
- protected:
-
- Char
- get_from_stream ();
-
- bool
- read_simple_identifier (std::string& lexeme, CharBuffer& buf);
-
- bool
- traverse_identifier_tree (std::string& lexeme,
- IdentifierTreeNode const& node);
-
- protected:
- std::locale loc_;
-
- TokenStream<char>& is_;
-
- KeywordTable keyword_table_;
- IdentifierTreeNode identifier_tree_;
- PunctuationTable punctuation_table_;
-
- // line numbering mechanism
- bool after_nl;
- unsigned long line_;
-
- // look ahead mechanism
-
- CharBuffer buffer_;
- };
- }
-}
-
-#endif // CCF_IDL2_LEXICAL_ANALYZER_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Makefile.alt b/TAO/CIAO/CCF/CCF/IDL2/Makefile.alt
deleted file mode 100644
index c2ed1a722b1..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/Makefile.alt
+++ /dev/null
@@ -1,19 +0,0 @@
-# file : CCF/IDL2/Makefile.alt
-# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-# cvs-id : $Id$
-
-root := ../..
-
-include $(root)/Bootstrap.rules
-
-$(call include, $(root)/Config.rules)
-
-$(call include, $(UTILITY_ROOT)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list := Makefile.archive
-target_directory_list := SyntaxTree Traversal SemanticAction
-default_makefile_name := Makefile.alt
-
-Makefile.archive : SyntaxTree Traversal SemanticAction
-
-$(call include, $(UTILITY_ROOT)/BuildRules/Recursion.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Makefile.archive b/TAO/CIAO/CCF/CCF/IDL2/Makefile.archive
deleted file mode 100644
index 2eb1e41b8df..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/Makefile.archive
+++ /dev/null
@@ -1,48 +0,0 @@
-# file : CCF/IDL2/Makefile.archive
-# author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-# cvs-id : $Id$
-
-root = ../..
-
-include $(root)/Bootstrap.rules
-
-$(call include, $(root)/Config.rules)
-
-$(call include, $(UTILITY_ROOT)/BuildRules/Archive.pre.rules)
-
-
-cxx_translation_units := LexicalAnalyzer.cpp Parser.cpp
-
-
-translated_units := SyntaxTree/BuiltIn.o \
- SyntaxTree/Elements.o \
- SyntaxTree/Interface.o \
- SyntaxTree/Member.o \
- SyntaxTree/Module.o \
- SyntaxTree/Operation.o \
- SyntaxTree/Sequence.o \
- SyntaxTree/Struct.o \
- SyntaxTree/Translation.o \
- SyntaxTree/TypeId.o \
- SyntaxTree/Typedef.o \
- SyntaxTree/ValueType.o
-
-translated_units += Traversal/BuiltIn.o \
- Traversal/Elements.o \
- Traversal/Interface.o \
- Traversal/Member.o \
- Traversal/Module.o \
- Traversal/Operation.o \
- Traversal/Sequence.o \
- Traversal/Struct.o \
- Traversal/Translation.o
-
-translated_units += SemanticAction/Operation.o
-
-module_base := IDL2
-module_prefix :=
-module_suffix :=
-
-CXX_PREPROCESS_FLAGS += -I$(root) -I$(UTILITY_ROOT) -I$(BOOST_ROOT)
-
-$(call include, $(UTILITY_ROOT)/BuildRules/Archive.post.rules)
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Parser.cpp b/TAO/CIAO/CCF/CCF/IDL2/Parser.cpp
deleted file mode 100644
index ecb7a30ff8f..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/Parser.cpp
+++ /dev/null
@@ -1,562 +0,0 @@
-// file : CCF/IDL2/Parser.cpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#include "CCF/IDL2/Parser.hpp"
-
-//
-// Note: DO NOT run emacs indenter (or any other indentation tool) over
-// this file because it will most likely break BNF indentation.
-//
-
-namespace CCF
-{
- namespace IDL2
- {
- using Parsing::DiagnosticType;
- using Parsing::RecoveryMethod;
-
- Parser::
- ~Parser ()
- {
- }
-
- Parser::
- Parser (CompilerElements::Context& context,
- Diagnostic::Stream& dout,
- LexicalAnalyzer const& l,
- SemanticAction::Factory& f)
- : dout_ (dout),
- lexer_ (l),
- actions_ (f),
-
- error_handler (context, dout),
-
- ABSTRACT ("abstract" ),
- ATTRIBUTE ("attribute" ),
- FACTORY ("factory" ),
- IN ("in" ),
- INCLUDE ("include" ),
- INOUT ("inout" ),
- INTERFACE ("interface" ),
- LOCAL ("local" ),
- MODULE ("module" ),
- OUT ("out" ),
- SEQUENCE ("sequence" ),
- SINCLUDE ("sinclude" ),
- STRUCT ("struct" ),
- SUPPORTS ("supports" ),
- TYPEDEF ("typedef" ),
- TYPEID ("typeid" ),
- TYPEPREFIX ("typeprefix" ),
-
- COLON (":"),
- COMMA (","),
- LBRACE ("{"),
- RBRACE ("}"),
- LPAREN ("("),
- RPAREN (")"),
- LT ("<"),
- GT (">"),
- SEMI (";"),
-
-
- // Attribute
- //
- //
- act_attribute_type (
- f.attribute (), &SemanticAction::Attribute::type),
-
- act_attribute_name (
- f.attribute (), &SemanticAction::Attribute::name),
-
-
- // Include
- //
- //
- act_include_begin (f.include (), &SemanticAction::Include::begin),
- act_include_end (f.include (), &SemanticAction::Include::end),
-
- act_system_include_begin (
- f.system_include (), &SemanticAction::SystemInclude::begin),
-
- act_system_include_end (
- f.system_include (), &SemanticAction::SystemInclude::end),
-
- // Interface
- //
- //
- act_abstract_interface_begin (
- f.interface (), &SemanticAction::Interface::begin_abstract),
-
- act_local_interface_begin (
- f.interface (), &SemanticAction::Interface::begin_local),
-
- act_unconstrained_interface_begin (
- f.interface (), &SemanticAction::Interface::begin_unconstrained),
-
- act_interface_inherits (
- f.interface (), &SemanticAction::Interface::inherits),
-
- act_interface_open_scope (
- f.interface (), &SemanticAction::Scope::open_scope),
-
- act_interface_close_scope (
- f.interface (), &SemanticAction::Scope::close_scope),
-
- act_interface_end (f.interface (), &SemanticAction::Interface::end),
-
-
- // Member
- //
- //
- act_member_begin (
- f.member (), &SemanticAction::Member::begin),
-
- act_member_declarator (
- f.member (), &SemanticAction::Member::declarator),
-
- act_member_end (
- f.member (), &SemanticAction::Member::end),
-
-
- // Module
- //
- //
- act_module_begin (f.module (), &SemanticAction::Module::begin),
-
- act_module_open_scope (
- f.module (), &SemanticAction::Scope::open_scope),
-
- act_module_close_scope (
- f.module (), &SemanticAction::Scope::close_scope),
-
- act_module_end (f.module (), &SemanticAction::Module::end),
-
-
- // Operation
- //
- //
- act_operation_begin (
- f.operation (), &SemanticAction::Operation::begin),
-
- act_operation_parameter (
- this, &Parser::act_operation_parameter_core),
-
- act_operation_end (f.operation (), &SemanticAction::Operation::end),
-
- // Struct
- //
- //
- act_struct_begin (f.struct_ (), &SemanticAction::Struct::begin),
-
- act_struct_open_scope (
- f.struct_ (), &SemanticAction::Scope::open_scope),
-
- act_struct_close_scope (
- f.struct_ (), &SemanticAction::Scope::close_scope),
-
- act_struct_end (f.struct_ (), &SemanticAction::Struct::end),
-
-
- // Typedef
- //
- //
- act_typedef_begin (
- f.typedef_ (), &SemanticAction::Typedef::begin),
-
- act_typedef_begin_seq (
- f.typedef_ (), &SemanticAction::Typedef::begin_seq),
-
- act_typedef_declarator (
- f.typedef_ (), &SemanticAction::Typedef::declarator),
-
- act_typedef_end (
- f.typedef_ (), &SemanticAction::Typedef::end),
-
-
- // TypeId
- //
- //
- act_type_id_begin (f.type_id (), &SemanticAction::TypeId::begin),
- act_type_id_end (f.type_id (), &SemanticAction::TypeId::end),
-
-
- // TypePrefix
- //
- //
- act_type_prefix_begin (f.type_prefix (),
- &SemanticAction::TypePrefix::begin),
-
- act_type_prefix_end (f.type_prefix (),
- &SemanticAction::TypePrefix::end)
- {
- language =
- guard
- (
- *import >> +declaration >> EOS
-
- )[root_error_handler]
- ;
-
- import =
- include_decl
- | system_include_decl
- ;
-
- include_decl =
- INCLUDE
- >> string_literal[act_include_begin]
- >> SEMI[act_include_end]
- ;
-
- system_include_decl =
- SINCLUDE
- >> string_literal[act_system_include_begin]
- >> SEMI[act_system_include_end]
- ;
-
- declaration =
- abstract_type_decl
- | extension
- | local_type_decl
- | module_decl
- | struct_decl
- | typedef_
- | type_id
- | type_prefix
- | unconstrained_interface_decl
- ;
-
- type_id =
- TYPEID
- >> (
- identifier
- >> string_literal
- )[act_type_id_begin]
- >> SEMI[act_type_id_end]
- ;
-
- type_prefix =
- TYPEPREFIX
- >> (
- identifier
- >> string_literal
- )[act_type_prefix_begin]
- >> SEMI[act_type_prefix_end]
- ;
-
- abstract_type_decl =
- ABSTRACT
- >> guard
- (
- assertion ("interface or valuetype declaration expected")
- (
- INTERFACE >> assertion ()(abstract_interface_decl)
- )
- )[error_handler]
- ;
-
- local_type_decl =
- LOCAL
- >> guard
- (
- assertion ("interface declaration expected")
- (
- INTERFACE >> assertion ()(local_interface_decl)
- )
- )[error_handler]
- ;
-
- module_decl =
- MODULE
- >> guard
- (
- assertion ("module name expected")
- (
- simple_identifier[act_module_begin]
- )
- >> assertion ("\'{\' expected",
- f.module (),
- &SemanticAction::Module::end)
- (
- LBRACE[act_module_open_scope]
- )
- >> assertion ("declaration expected",
- f.module (),
- &SemanticAction::Module::close_scope,
- &SemanticAction::Module::end,
- RecoveryMethod::STANDARD,
- DiagnosticType::BEFORE)
- (
- hood (+declaration)
- [
- handler (f.module (),
- &SemanticAction::Module::close_scope,
- &SemanticAction::Module::end)
- ]
- )
- >> assertion ("declaration or \'}\' expected",
- f.module (),
- &SemanticAction::Module::close_scope,
- &SemanticAction::Module::end,
- RecoveryMethod::STANDARD,
- DiagnosticType::BEFORE)
- (
- RBRACE[act_module_close_scope]
- )
- >> assertion ("\';\' is missing",
- f.module (),
- &SemanticAction::Module::end,
- RecoveryMethod::NONE)
- (
- SEMI[act_module_end]
- )
- )[error_handler]
- ;
-
-
- // interface
- //
- //
- abstract_interface_decl =
- guard
- (
- assertion ("interface name expected")
- (
- simple_identifier[act_abstract_interface_begin]
- )
- >> interface_decl_trailer
-
- )[error_handler]
- ;
-
-
- local_interface_decl =
- guard
- (
- assertion ("interface name expected")
- (
- simple_identifier[act_local_interface_begin]
- )
- >> interface_decl_trailer
-
- )[error_handler]
- ;
-
-
- unconstrained_interface_decl =
- guard
- (
- INTERFACE
- >> assertion ("interface name expected")
- (
- simple_identifier[act_unconstrained_interface_begin]
- )
- >> interface_decl_trailer
-
- )[error_handler]
- ;
-
-
- interface_decl_trailer =
- assertion ("\';\', \'{\' or inheritance specification expected",
- f.interface (),
- &SemanticAction::Interface::end)
- (
- SEMI[act_interface_end]
- |
- (
- !(COLON >> interface_inheritance_spec)
- >> LBRACE[act_interface_open_scope]
- >> interface_body
- >> assertion ("declaration or \'}\' expected",
- f.interface (),
- &SemanticAction::Interface::close_scope,
- &SemanticAction::Interface::end,
- RecoveryMethod::STANDARD,
- DiagnosticType::BEFORE)
- (
- RBRACE[act_interface_close_scope]
- )
- >> assertion ("\';\' is missing",
- f.interface (),
- &SemanticAction::Interface::end,
- RecoveryMethod::NONE)
- (
- SEMI[act_interface_end]
- )
- )
- )
- ;
-
-
- interface_inheritance_spec =
- assertion ("interface name expected",
- f.interface (),
- &SemanticAction::Interface::end)
- (
- identifier[act_interface_inherits]
- )
- >> *(
- COMMA
- >> assertion ("interface name expected",
- f.interface (),
- &SemanticAction::Interface::end)
- (
- identifier[act_interface_inherits]
- )
- )
- ;
-
- interface_body =
- *(
- attribute_decl
- | operation_decl
- )
- ;
-
- // attribute
- //
- //
- attribute_decl =
- ATTRIBUTE
- >> identifier[act_attribute_type]
- >> simple_identifier[act_attribute_name]
- >> SEMI
- ;
-
-
- // direction specifier
- //
- //
- direction_specifier =
- IN
- | OUT
- | INOUT
- ;
-
-
- // member
- //
- //
- member_decl =
- identifier[act_member_begin]
- >> member_declarator_list
- >> SEMI[act_member_end]
- ;
-
-
- member_declarator_list =
- identifier[act_member_declarator]
- >> *(
- COMMA
- >> identifier[act_member_declarator]
- )
- ;
-
-
- // operation
- //
- //
- operation_decl =
- (identifier >> simple_identifier)[act_operation_begin]
- >> LPAREN
- >> operation_parameter_list
- >> RPAREN
- >> SEMI[act_operation_end]
- ;
-
- operation_parameter_list =
- *(
- operation_parameter
- >> *(COMMA >> operation_parameter)
- )
- ;
-
- operation_parameter =
- (
- direction_specifier
- >> identifier
- >> simple_identifier
- )[act_operation_parameter]
- ;
-
-
- // struct
- //
- //
- struct_decl =
- guard
- (
- STRUCT
- >> assertion ("struct name expected")
- (
- simple_identifier[act_struct_begin]
- )
- >> struct_decl_trailer
-
- )[error_handler]
- ;
-
-
- struct_decl_trailer =
- assertion ("\';\' or \'{\' expected",
- f.struct_ (),
- &SemanticAction::Struct::end)
- (
- SEMI[act_struct_end]
- | (
- LBRACE[act_struct_open_scope]
- >> struct_body
- >> assertion ("member or \'}\' expected",
- f.struct_ (),
- &SemanticAction::Struct::close_scope,
- &SemanticAction::Struct::end,
- RecoveryMethod::STANDARD,
- DiagnosticType::BEFORE)
- (
- RBRACE[act_struct_close_scope]
- )
- >> assertion ("\';\' is missing",
- f.struct_ (),
- &SemanticAction::Struct::end,
- RecoveryMethod::NONE)
- (
- SEMI[act_struct_end]
- )
- )
- )
- ;
-
-
- struct_body =
- +member_decl
- ;
-
- // typedef
- //
- //
-
- typedef_ =
- TYPEDEF
- >> typedef_type_spec
- >> typedef_declarator_list
- >> SEMI[act_typedef_end]
- ;
-
- typedef_type_spec =
- identifier[act_typedef_begin]
- | SEQUENCE >> LT >> identifier[act_typedef_begin_seq] >> GT
- ;
-
- typedef_declarator_list =
- identifier[act_typedef_declarator]
- >> *(
- COMMA
- >> identifier[act_typedef_declarator]
- )
- ;
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Parser.hpp b/TAO/CIAO/CCF/CCF/IDL2/Parser.hpp
deleted file mode 100644
index 4822e44a704..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/Parser.hpp
+++ /dev/null
@@ -1,589 +0,0 @@
-// file : CCF/IDL2/Parser.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_IDL2_PARSER_HPP
-#define CCF_IDL2_PARSER_HPP
-
-#include "CCF/CompilerElements/Context.hpp"
-#include "CCF/CompilerElements/Diagnostic.hpp"
-#include "CCF/CompilerElements/FileSystem.hpp"
-
-#include "CCF/IDL2/SemanticAction.hpp"
-#include "CCF/IDL2/LexicalAnalyzer.hpp"
-
-#include "CCF/IDL2/Parsing/Elements.hpp"
-#include "CCF/IDL2/Parsing/Action.hpp"
-#include "CCF/IDL2/Parsing/Recovery.hpp"
-
-namespace CCF
-{
- namespace IDL2
- {
- using Parsing::ActionExecutor;
- using Parsing::NoArgAction;
- using Parsing::OneArgAction;
- using Parsing::TwoArgAction;
-
- class Parser
- {
- public:
- virtual
- ~Parser ();
-
- protected:
- Diagnostic::Stream& dout_;
- LexicalAnalyzer const& lexer_;
- SemanticAction::Factory& actions_;
-
- protected:
- typedef
- Parsing::Iterator
- Iterator;
-
- //
- // Primitives
- //
-
- typedef
- Parsing::EndOfStreamParser
- EndOfStreamParser;
-
- typedef
- Parsing::KeywordParser
- KeywordParser;
-
- typedef
- Parsing::PunctuationParser
- PunctuationParser;
-
- typedef
- Parsing::IdentifierParser
- IdentifierParser;
-
- typedef
- Parsing::SimpleIdentifierParser
- SimpleIdentifierParser;
-
- typedef
- Parsing::StringLiteralParser
- StringLiteralParser;
-
-
- typedef
- Parsing::RecoveryDescriptor
- RecoveryDescriptor;
-
- typedef
- Parsing::Assertion
- Assertion;
-
- typedef
- Parsing::RecoveryStatus
- RecoveryStatus;
-
- typedef
- Parsing::Guard
- Guard;
-
- //@@ names are not thought out weel for error handling
-
- struct ErrorHandler
- {
- ErrorHandler (CompilerElements::Context& context,
- Diagnostic::Stream& dout)
- : dout_ (dout),
- context_ (context)
- {
- }
-
- RecoveryStatus
- operator() (Parsing::Scanner const& s, Parsing::Error e) const
- {
- Iterator i = e.where;
-
- switch (e.descriptor->diagnostic_)
- {
- case Parsing::DiagnosticType::BEFORE:
- {
- Diagnostic::Error rec (
- context_.get<fs::path> ("file-path").native_file_string (),
- (*i)->line ());
-
- rec << "before \'" << (*i)->lexeme () << "\': "
- << e.descriptor->description_;
-
- dout_ << rec;
- break;
- }
- case Parsing::DiagnosticType::AFTER:
- {
- i--;
-
- Diagnostic::Error rec (
- context_.get<fs::path> ("file-path").native_file_string (),
- (*i)->line ());
-
- rec << "after \'" << (*i)->lexeme () << "\': "
- << e.descriptor->description_;
-
- dout_ << rec;
- break;
- }
- case Parsing::DiagnosticType::NONE:
- {
- }
- }
-
- if (e.descriptor->action_one_.get ())
- e.descriptor->action_one_->execute ();
-
- if (e.descriptor->action_two_.get ())
- e.descriptor->action_two_->execute ();
-
- switch (e.descriptor->recovery_)
- {
- case Parsing::RecoveryMethod::STANDARD:
- {
- unsigned long balance = 0;
-
- for (Iterator t = e.where; t != s.last; t++)
- {
- //std::cerr << "error recovery: skipping " << (*t)->lexeme ()
- // << std::endl;
-
- if ((*t)->lexeme () == "{") balance++;
- else if ((*t)->lexeme () == "}")
- {
- if (balance > 0) balance--;
- else
- {
- t++;
- if ((*t)->lexeme () == ";") t++;
-
- int length = t - s.first;
- s.first += length;
- return RecoveryStatus (RecoveryStatus::accept, length);
- }
- }
-
- if (balance == 0 && (*t)->lexeme () == ";")
- {
- int length = t - s.first + 1;
- s.first += length;
- return RecoveryStatus (RecoveryStatus::accept, length);
- }
- }
-
- switch (e.descriptor->diagnostic_)
- {
- case Parsing::DiagnosticType::BEFORE:
- {
- Diagnostic::Error rec (
- context_.get<fs::path> ("file-path").native_file_string (),
- (*i)->line ());
-
- rec << "before \'" << (*i)->lexeme () << "\': "
- << "unable to recover from previous error: bailing out";
-
- dout_ << rec;
- break;
- }
- case Parsing::DiagnosticType::AFTER:
- {
- Diagnostic::Error rec (
- context_.get<fs::path> ("file-path").native_file_string (),
- (*i)->line ());
- rec << "after \'" << (*i)->lexeme () << "\': "
- << "unable to recover from previous error: bailing out";
-
- dout_ << rec;
- break;
- }
- case Parsing::DiagnosticType::NONE:
- {
- }
- }
-
- e.descriptor->recovery_ = Parsing::RecoveryMethod::BAIL_OUT;
- e.descriptor->diagnostic_ = Parsing::DiagnosticType::NONE;
-
- e.descriptor->action_one_.reset ();
- e.descriptor->action_two_.reset ();
-
- // return RecoveryStatus (RecoveryStatus::rethrow);
- throw e;
- }
- case Parsing::RecoveryMethod::NONE:
- default:
- {
- int length = e.where - s.first;
- s.first += length;
- return RecoveryStatus (RecoveryStatus::accept, length);
- }
- case Parsing::RecoveryMethod::BAIL_OUT:
- {
- e.descriptor->recovery_ = Parsing::RecoveryMethod::BAIL_OUT;
- e.descriptor->diagnostic_ = Parsing::DiagnosticType::NONE;
-
- e.descriptor->action_one_.reset ();
- e.descriptor->action_two_.reset ();
-
- // return RecoveryStatus (RecoveryStatus::rethrow);
- throw e;
- }
- }
- }
-
- Diagnostic::Stream& dout_;
- CompilerElements::Context& context_;
- };
-
- struct RootErrorHandler
- {
- RecoveryStatus
- operator() (Parsing::Scanner const& s, Parsing::Error& e) const
- {
- return RecoveryStatus (RecoveryStatus::fail);
- }
- };
-
- struct handler
- {
- template<typename Object>
- handler (Object& obj,
- void (Object::*action_one)())
- : action_one_ (Parsing::call_thunk (obj, action_one)),
- action_two_ (0)
- {
- }
-
- template<typename Object>
- handler (Object& obj,
- void (Object::*action_one)(),
- void (Object::*action_two)())
- : action_one_ (Parsing::call_thunk (obj, action_one)),
- action_two_ (Parsing::call_thunk (obj, action_two))
- {
- }
-
- handler (handler const& h)
- : action_one_ (h.action_one_.get () ? h.action_one_->clone () : 0),
- action_two_ (h.action_two_.get () ? h.action_two_->clone () : 0)
- {
- }
-
- RecoveryStatus
- operator() (Parsing::Scanner const& s, Parsing::Error e) const
- {
- assert (
- e.descriptor->diagnostic_ == Parsing::DiagnosticType::NONE &&
- e.descriptor->recovery_ == Parsing::RecoveryMethod::BAIL_OUT
- );
-
- if (action_one_.get ()) action_one_->execute ();
- if (action_two_.get ()) action_two_->execute ();
-
- // return RecoveryStatus (RecoveryStatus::rethrow);
- throw e;
- }
-
- std::auto_ptr<Parsing::Thunk> action_one_;
- std::auto_ptr<Parsing::Thunk> action_two_;
- };
-
- Guard guard;
- Guard hood;
- Assertion assertion;
- ErrorHandler error_handler;
- RootErrorHandler root_error_handler;
-
- // End of stream parser
- EndOfStreamParser EOS;
-
- // Keyword parsers (alphabetic order).
- KeywordParser ABSTRACT;
- KeywordParser ATTRIBUTE;
- KeywordParser FACTORY;
- KeywordParser IN;
- KeywordParser INCLUDE;
- KeywordParser INOUT;
- KeywordParser INTERFACE;
- KeywordParser LOCAL;
- KeywordParser MODULE;
- KeywordParser OUT;
- KeywordParser SEQUENCE;
- KeywordParser SINCLUDE;
- KeywordParser STRUCT;
- KeywordParser SUPPORTS;
- KeywordParser TYPEDEF;
- KeywordParser TYPEID;
- KeywordParser TYPEPREFIX;
-
- // Punctuation parsers (alphabetic group order).
- PunctuationParser COLON;
- PunctuationParser COMMA;
- PunctuationParser LBRACE;
- PunctuationParser RBRACE;
- PunctuationParser LPAREN;
- PunctuationParser RPAREN;
- PunctuationParser LT;
- PunctuationParser GT;
- PunctuationParser SEMI;
-
- IdentifierParser identifier;
- SimpleIdentifierParser simple_identifier;
- StringLiteralParser string_literal;
-
-
- //
- // Language
- //
- typedef
- Parsing::Rule
- Rule;
-
- Rule language;
- Rule import;
- Rule declaration;
- Rule extension;
-
- Rule include_decl;
- Rule system_include_decl;
-
- Rule module_decl;
-
- Rule abstract_type_decl;
- Rule local_type_decl;
-
- Rule abstract_interface_decl;
- Rule local_interface_decl;
- Rule unconstrained_interface_decl;
- Rule interface_decl_trailer;
- Rule interface_inheritance_spec;
- Rule interface_body;
-
- Rule attribute_decl;
-
- Rule direction_specifier;
-
- Rule member_decl;
- Rule member_declarator_list;
-
- Rule operation_decl;
- Rule operation_parameter_list;
- Rule operation_parameter;
-
- Rule struct_decl;
- Rule struct_decl_trailer;
- Rule struct_body;
-
- Rule typedef_;
- Rule typedef_type_spec;
- Rule typedef_declarator_list;
-
- Rule type_id;
- Rule type_prefix;
-
- public:
- Parser (CompilerElements::Context& context,
- Diagnostic::Stream& dout,
- LexicalAnalyzer const& l,
- SemanticAction::Factory& f);
-
- virtual Rule const&
- start() const
- {
- return language;
- }
-
- protected:
-
- //
- // Semantic actions
- //
- typedef
- NoArgAction<SemanticAction::Scope>
- ScopeAction;
-
-
- // Attribute
- //
- //
- OneArgAction<IdentifierPtr, SemanticAction::Attribute>
- act_attribute_type;
-
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Attribute>
- act_attribute_name;
-
-
- // Include
- //
- //
- OneArgAction<StringLiteralPtr, SemanticAction::Include>
- act_include_begin;
-
- NoArgAction<SemanticAction::Include>
- act_include_end;
-
- OneArgAction<StringLiteralPtr, SemanticAction::SystemInclude>
- act_system_include_begin;
-
- NoArgAction<SemanticAction::SystemInclude>
- act_system_include_end;
-
-
- // Interface
- //
- //
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Interface>
- act_abstract_interface_begin;
-
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Interface>
- act_local_interface_begin;
-
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Interface>
- act_unconstrained_interface_begin;
-
- OneArgAction<IdentifierPtr, SemanticAction::Interface>
- act_interface_inherits;
-
- ScopeAction
- act_interface_open_scope;
-
- ScopeAction
- act_interface_close_scope;
-
- NoArgAction<SemanticAction::Interface>
- act_interface_end;
-
-
- // Member
- //
- //
- OneArgAction<IdentifierPtr, SemanticAction::Member>
- act_member_begin;
-
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Member>
- act_member_declarator;
-
- NoArgAction<SemanticAction::Member>
- act_member_end;
-
-
- // Module
- //
- //
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Module>
- act_module_begin;
-
- ScopeAction
- act_module_open_scope;
-
- ScopeAction
- act_module_close_scope;
-
- NoArgAction<SemanticAction::Module>
- act_module_end;
-
-
- // Operation
- //
- //
- TwoArgAction<IdentifierPtr,
- SimpleIdentifierPtr,
- SemanticAction::Operation>
- act_operation_begin;
-
- void
- act_operation_parameter_core (Iterator begin,
- Iterator end) const
- {
- SemanticAction::Operation::Direction::Value d;
-
- if((*begin)->lexeme () == "in")
- {
- d = SemanticAction::Operation::Direction::IN;
- }
- else if((*begin)->lexeme () == "out")
- {
- d = SemanticAction::Operation::Direction::OUT;
- }
- else
- {
- d = SemanticAction::Operation::Direction::INOUT;
- }
-
- begin++;
-
- actions_.operation ().parameter (
- d,
- ReferenceCounting::strict_cast<Identifier>(*begin),
- ReferenceCounting::strict_cast<SimpleIdentifier>(*(begin + 1)));
- }
-
- ActionExecutor<Parser>
- act_operation_parameter;
-
- NoArgAction<SemanticAction::Operation>
- act_operation_end;
-
- // Struct
- //
- //
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Struct>
- act_struct_begin;
-
- ScopeAction
- act_struct_open_scope;
-
- ScopeAction
- act_struct_close_scope;
-
- NoArgAction<SemanticAction::Struct>
- act_struct_end;
-
-
- // Typedef
- //
- //
- OneArgAction<IdentifierPtr, SemanticAction::Typedef>
- act_typedef_begin;
-
- OneArgAction<IdentifierPtr, SemanticAction::Typedef>
- act_typedef_begin_seq;
-
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Typedef>
- act_typedef_declarator;
-
- NoArgAction<SemanticAction::Typedef>
- act_typedef_end;
-
-
- // TypeId
- //
- //
- TwoArgAction<IdentifierPtr,
- StringLiteralPtr,
- SemanticAction::TypeId>
- act_type_id_begin;
-
- NoArgAction<SemanticAction::TypeId>
- act_type_id_end;
-
-
- // TypePrefix
- //
- //
- TwoArgAction<IdentifierPtr,
- StringLiteralPtr,
- SemanticAction::TypePrefix>
- act_type_prefix_begin;
-
- NoArgAction<SemanticAction::TypePrefix>
- act_type_prefix_end;
- };
- }
-}
-
-#endif // CCF_IDL2_PARSER_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticAction.hpp
deleted file mode 100644
index bee02c72d47..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticAction.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-// file : CCF/IDL2/SemanticAction.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_IDL2_SEMANTIC_ACTION_HPP
-#define CCF_IDL2_SEMANTIC_ACTION_HPP
-
-#include "CCF/IDL2/SemanticAction/Attribute.hpp"
-#include "CCF/IDL2/SemanticAction/Elements.hpp"
-#include "CCF/IDL2/SemanticAction/Include.hpp"
-#include "CCF/IDL2/SemanticAction/Interface.hpp"
-#include "CCF/IDL2/SemanticAction/Member.hpp"
-#include "CCF/IDL2/SemanticAction/Module.hpp"
-#include "CCF/IDL2/SemanticAction/Operation.hpp"
-#include "CCF/IDL2/SemanticAction/Struct.hpp"
-#include "CCF/IDL2/SemanticAction/Typedef.hpp"
-#include "CCF/IDL2/SemanticAction/TypeId.hpp"
-#include "CCF/IDL2/SemanticAction/Factory.hpp"
-
-#endif // CCF_IDL2_SEMANTIC_ACTION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SyntaxTree.hpp b/TAO/CIAO/CCF/CCF/IDL2/SyntaxTree.hpp
deleted file mode 100644
index 735e607abff..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/SyntaxTree.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// file : CCF/IDL2/SyntaxTree.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_IDL2_SYNTAX_TREE_HPP
-#define CCF_IDL2_SYNTAX_TREE_HPP
-
-#include "CCF/IDL2/SyntaxTree/Elements.hpp"
-#include "CCF/IDL2/SyntaxTree/BuiltIn.hpp"
-#include "CCF/IDL2/SyntaxTree/Interface.hpp"
-#include "CCF/IDL2/SyntaxTree/Member.hpp"
-#include "CCF/IDL2/SyntaxTree/Module.hpp"
-#include "CCF/IDL2/SyntaxTree/Operation.hpp"
-#include "CCF/IDL2/SyntaxTree/Struct.hpp"
-#include "CCF/IDL2/SyntaxTree/Sequence.hpp"
-#include "CCF/IDL2/SyntaxTree/Translation.hpp"
-#include "CCF/IDL2/SyntaxTree/Typedef.hpp"
-#include "CCF/IDL2/SyntaxTree/TypeId.hpp"
-#include "CCF/IDL2/SyntaxTree/ValueType.hpp"
-
-#endif // CCF_IDL2_SYNTAX_TREE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Token.cpp b/TAO/CIAO/CCF/CCF/IDL2/Token.cpp
deleted file mode 100644
index a251329a2d8..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/Token.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// file : CCF/IDL2/Token.cpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#include "CCF/IDL2/Token.hpp"
-
-namespace CCF
-{
- namespace IDL2
- {
- }
-}
-
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Token.hpp b/TAO/CIAO/CCF/CCF/IDL2/Token.hpp
deleted file mode 100644
index 48d27f69805..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/Token.hpp
+++ /dev/null
@@ -1,201 +0,0 @@
-// file : CCF/IDL2/Token.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_IDL2_TOKEN_HPP
-#define CCF_IDL2_TOKEN_HPP
-
-#include <vector>
-#include <string>
-#include <ostream>
-
-#include "CCF/CompilerElements/ReferenceCounting.hpp"
-
-namespace CCF
-{
- namespace IDL2
- {
- //
- //
- //
- class Token : public ReferenceCounting::DefaultImpl <>
- {
- protected:
- Token (std::string lexeme, unsigned long line)
- : lexeme_ (lexeme),
- line_ (line)
- {
- }
-
- public:
- virtual
- ~Token () throw () {}
-
- virtual void
- print (std::ostream& o)
- {
- o << lexeme ();
- }
-
- public:
- std::string
- lexeme () const
- {
- return lexeme_;
- }
-
- unsigned long
- line () const
- {
- return line_;
- }
-
- private:
- std::string lexeme_;
- unsigned long line_;
- };
-
- typedef
- ReferenceCounting::StrictPtr<Token>
- TokenPtr;
-
- typedef
- std::vector<TokenPtr>
- TokenList;
-
- inline std::ostream&
- operator<< (std::ostream& o, TokenPtr const& t)
- {
- if (t != 0) t->print (o);
- return o;
- }
-
- //
- //
- //
- class EndOfStream : public Token
- {
- public:
- EndOfStream (unsigned long line)
- : Token ("<end-of-stream>", line)
- {
- }
- };
-
- typedef
- ReferenceCounting::StrictPtr<EndOfStream>
- EndOfStreamPtr;
-
- //
- //
- //
- class Keyword : public Token
- {
- public:
- Keyword (std::string lexeme, unsigned long line)
- : Token (lexeme, line)
- {
- }
- };
-
- typedef
- ReferenceCounting::StrictPtr<Keyword>
- KeywordPtr;
-
- //
- //
- //
- class Punctuation : public Token
- {
- public:
- Punctuation (std::string lexeme, unsigned long line)
- : Token (lexeme, line)
- {
- }
-
- virtual
- ~Punctuation () throw () {}
- };
-
- typedef
- ReferenceCounting::StrictPtr<Punctuation>
- PunctuationPtr;
-
-
- //
- //
- //
- class Identifier : public Token
- {
- public:
- Identifier (std::string lexeme, unsigned long line)
- : Token (lexeme, line)
- {
- }
- };
-
- typedef
- ReferenceCounting::StrictPtr<Identifier>
- IdentifierPtr;
-
-
- //
- //
- //
- class SimpleIdentifier : public Identifier
- {
- public:
- SimpleIdentifier (std::string lexeme, unsigned long line)
- : Identifier (lexeme, line)
- {
- }
- };
-
- typedef
- ReferenceCounting::StrictPtr<SimpleIdentifier>
- SimpleIdentifierPtr;
-
-
- //
- //
- //
- class ScopedIdentifier : public Identifier
- {
- public:
- ScopedIdentifier (std::string lexeme, unsigned long line)
- : Identifier (lexeme, line)
- {
- }
- };
-
- typedef
- ReferenceCounting::StrictPtr<ScopedIdentifier>
- ScopedIdentifierPtr;
-
-
- //
- //
- //
- class StringLiteral : public Token
- {
- public:
- StringLiteral (std::string lexeme, unsigned long line)
- : Token (lexeme, line)
- {
- }
-
- virtual void
- print (std::ostream& o)
- {
- o << '\"' << lexeme () << '\"';
- }
-
- };
-
- typedef
- ReferenceCounting::StrictPtr<StringLiteral>
- StringLiteralPtr;
- }
-}
-
-#endif // CCF_IDL2_TOKEN_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal.hpp
deleted file mode 100644
index a44c151001e..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/Traversal.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// file : CCF/IDL2/Traversal.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_IDL2_TRAVERSAL_HPP
-#define CCF_IDL2_TRAVERSAL_HPP
-
-#include "CCF/IDL2/Traversal/Elements.hpp"
-#include "CCF/IDL2/Traversal/BuiltIn.hpp"
-#include "CCF/IDL2/Traversal/Interface.hpp"
-#include "CCF/IDL2/Traversal/Member.hpp"
-#include "CCF/IDL2/Traversal/Module.hpp"
-#include "CCF/IDL2/Traversal/Operation.hpp"
-#include "CCF/IDL2/Traversal/Struct.hpp"
-#include "CCF/IDL2/Traversal/Sequence.hpp"
-#include "CCF/IDL2/Traversal/Struct.hpp"
-#include "CCF/IDL2/Traversal/Translation.hpp"
-#include "CCF/IDL2/Traversal/Typedef.hpp"
-#include "CCF/IDL2/Traversal/TypeId.hpp"
-
-#endif // CCF_IDL2_TRAVERSAL_HPP