diff options
Diffstat (limited to 'CIAO/CCF/Test')
26 files changed, 0 insertions, 2921 deletions
diff --git a/CIAO/CCF/Test/CIDL/Compiler/Generator.cpp b/CIAO/CCF/Test/CIDL/Compiler/Generator.cpp deleted file mode 100644 index 278278b3360..00000000000 --- a/CIAO/CCF/Test/CIDL/Compiler/Generator.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// file : Test/CIDL/Compiler/Generator.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include "Generator.hpp" -#include "GeneratorImpl.hpp" - -namespace CIDL -{ - Generator:: - ~Generator () - { - } - - Generator:: - Generator () - : pimpl_ (new GeneratorImpl), impl_ (*pimpl_) - { - } - - Generator:: - Generator (GeneratorImpl& gi) - : pimpl_ (), impl_ (gi) - { - } - - void Generator:: - generate (CCF::IDL3::SemanticGraph::TranslationUnit& tu) - { - impl_.generate (tu); - } -} diff --git a/CIAO/CCF/Test/CIDL/Compiler/Generator.hpp b/CIAO/CCF/Test/CIDL/Compiler/Generator.hpp deleted file mode 100644 index 3876195469d..00000000000 --- a/CIAO/CCF/Test/CIDL/Compiler/Generator.hpp +++ /dev/null @@ -1,34 +0,0 @@ -// file : Test/CIDL/Compiler/Generator.hpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#ifndef TEST_CIDL_COMPILER_GENERATOR_HPP -#define TEST_CIDL_COMPILER_GENERATOR_HPP - -#include <memory> - -#include "CCF/CIDL/SemanticGraph.hpp" - -namespace CIDL -{ - class GeneratorImpl; - - class Generator - { - public: - ~Generator (); - Generator (); - - void - generate (CCF::CIDL::SemanticGraph::TranslationUnit& tu); - - protected: - Generator (GeneratorImpl&); - - protected: - std::auto_ptr<GeneratorImpl> pimpl_; - GeneratorImpl& impl_; - }; -} - -#endif // TEST_CIDL_COMPILER_GENERATOR_HPP diff --git a/CIAO/CCF/Test/CIDL/Compiler/GeneratorImpl.hpp b/CIAO/CCF/Test/CIDL/Compiler/GeneratorImpl.hpp deleted file mode 100644 index 169fb57ace3..00000000000 --- a/CIAO/CCF/Test/CIDL/Compiler/GeneratorImpl.hpp +++ /dev/null @@ -1,228 +0,0 @@ -// file : Test/CIDL/Compiler/GeneratorImpl.hpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#ifndef TEST_CIDL_COMPILER_GENERATOR_IMPL_HPP -#define TEST_CIDL_COMPILER_GENERATOR_IMPL_HPP - -#include <iostream> - -#include "CCF/CodeGenerationKit/IndentationIDL.hpp" -#include "CCF/CodeGenerationKit/IndentationImplanter.hpp" - -#include "CCF/CIDL/SemanticGraph.hpp" -#include "CCF/CIDL/Traversal.hpp" - -#include "../../IDL3/Compiler/GeneratorImpl.hpp" - -namespace CIDL -{ - using namespace CCF::CIDL; - - using std::cout; - using std::endl; - - class GeneratorImpl : public IDL3::GeneratorImpl - { - protected: - // Layer 1 - // - - // Layer 2 - // - - // Layer 3 - // - - //-- - - struct Composition : Traversal::Composition - { - virtual void - pre (Type& c) - { - //@@ TODO kind - cout << "composition " << "session" << " "; - } - - virtual void - name (Type& i) - { - cout << i.name (); - } - - virtual void - names_pre (Type&) - { - cout << "{"; - } - - virtual void - names_post (Type&) - { - cout << "}"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - }; - - - struct HomeExecutor : Traversal::HomeExecutor - { - virtual void - pre (Type&) - { - cout << "home executor "; - } - - virtual void - name (Type& he) - { - cout << he.name () << "{"; - } - - virtual void - implements_pre (Type&) - { - cout << "implements "; - } - - virtual void - implements_post (Type&) - { - cout << ";"; - } - - virtual void - manages_pre (Type&) - { - cout << "manages "; - } - - virtual void - manages_post (Type&) - { - cout << ";"; - } - - virtual void - post (Type& he) - { - cout << "};"; - } - }; - - - // Layer 4 - // - - //-- - - // Layer 5 - // - - //-- - - struct SimpleName : Traversal::Nameable - { - virtual void - traverse (Type& n) - { - cout << n.name (); - } - }; - - public: - - GeneratorImpl () - { - // Layer 1 - // - - // Layer 2 - // - - // Layer 3 - // - - //-- - - defines.node_traverser (composition); - - // Layer 4 - // - - composition.edge_traverser (composition_defines); - - //-- - - composition_defines.node_traverser (home_executor); - - // Layer 5 - // - home_executor.edge_traverser (home_executor_implements); - home_executor.edge_traverser (home_executor_manages); - - //-- - - home_executor_implements.node_traverser (type_name); - home_executor_manages.node_traverser (simple_name); - - // Layer 6 - // - - } - - protected: - // Layer 1 - // - - // Layer 2 - // - - // Layer 3 - // - - //-- - - Composition composition; - - // Layer 4 - // - - Traversal::Defines composition_defines; - - //-- - - HomeExecutor home_executor; - - // Layer 5 - // - Traversal::Implements home_executor_implements; - Traversal::Manages home_executor_manages; - - //-- - - SimpleName simple_name; - - // Layer 6 - // - - public: - void - generate (CCF::CIDL::SemanticGraph::TranslationUnit& tu) - { - // Plug automatic IDL indenter. - // - Indentation::Implanter<Indentation::IDL> guard (cout); - - unit.traverse (tu); - } - }; -} - -#endif // TEST_CIDL_COMPILER_GENERATOR_IMPL_HPP diff --git a/CIAO/CCF/Test/CIDL/Compiler/driver.cpp b/CIAO/CCF/Test/CIDL/Compiler/driver.cpp deleted file mode 100644 index 222dd8f851c..00000000000 --- a/CIAO/CCF/Test/CIDL/Compiler/driver.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// file : Test/CIDL/Compiler/driver.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include "CCF/CompilerElements/Context.hpp" -#include "CCF/CompilerElements/FileSystem.hpp" -#include "CCF/CompilerElements/Diagnostic.hpp" -#include "CCF/CompilerElements/TokenStream.hpp" -#include "CCF/CompilerElements/Preprocessor.hpp" - -#include "CCF/CIDL/LexicalAnalyzer.hpp" -#include "CCF/CIDL/Parser.hpp" -#include "CCF/CIDL/SemanticGraph.hpp" -#include "CCF/CIDL/SemanticAction/Impl/Factory.hpp" - -#include "Generator.hpp" - -#include <iostream> - -using std::cerr; -using std::cout; -using std::endl; - -using namespace CCF::CompilerElements; -using namespace CCF::CIDL; -using namespace SemanticGraph; - -int -main () -{ - try - { - Diagnostic::Stream dout; - - fs::path file_path ("stdout"); - - InputStreamAdapter isa (std::cin); - CPP::Preprocessor pp (isa); - - LexicalAnalyzer lexer (pp); - - TokenList token_stream; - - //@@ bad token comparison - for (TokenPtr token = lexer.next ();; token = lexer.next ()) - { - token_stream.push_back (token); - if (ReferenceCounting::strict_cast<EndOfStream> (token) != 0) break; - } - - if (token_stream.size () < 2) - { - cerr << "no tokens produced so nothing to parse" << endl; - return 0; - } - - TranslationUnit tu; - - // Compilation context. - // - CCF::CompilerElements::Context context; - context.set ("file-path", file_path); - context.set ("trace-semantic-action", false); - - - SemanticAction::Impl::Factory actions (context, dout, tu); - - Parser parser (context, dout, lexer, actions); - - //@@ should be able to use IDL3 here. Or better yet get rid of this - // function completely. - // - CCF::IDL2::Parsing::parse (token_stream.begin (), - token_stream.end (), - parser.start ()); - - if (dout.error_count () != 0) return -1; - - CIDL::Generator g; - - g.generate (tu); - - } - catch (std::bad_cast const&) - { - cerr << "bad cast exception" << endl; - } - catch (InvalidName const&) - { - cerr << "invalid name exception" << endl; - } - catch (...) - { - cerr << "caught unknown exception" << endl; - return -1; - } -} diff --git a/CIAO/CCF/Test/CIDL/Compiler/result.cidl.orig b/CIAO/CCF/Test/CIDL/Compiler/result.cidl.orig deleted file mode 100644 index 6ba766db738..00000000000 --- a/CIAO/CCF/Test/CIDL/Compiler/result.cidl.orig +++ /dev/null @@ -1,14 +0,0 @@ -component C -{ -}; -home H manages ::C -{ -}; -composition session SC -{ - home executor H_Exec - { - implements ::H; - manages C_Exec; - }; -}; diff --git a/CIAO/CCF/Test/CIDL/Compiler/test.cidl b/CIAO/CCF/Test/CIDL/Compiler/test.cidl deleted file mode 100644 index 349712a18df..00000000000 --- a/CIAO/CCF/Test/CIDL/Compiler/test.cidl +++ /dev/null @@ -1,21 +0,0 @@ -// file : CCF/Test/CIDL/Compiler/test.cidl -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -component C -{ -}; - -home H manages C -{ -}; - -composition session SC -{ - home executor H_Exec - { - implements H; - manages C_Exec; - }; -}; - diff --git a/CIAO/CCF/Test/CompilerElements/CPP/driver.cpp b/CIAO/CCF/Test/CompilerElements/CPP/driver.cpp deleted file mode 100644 index de3624d86a7..00000000000 --- a/CIAO/CCF/Test/CompilerElements/CPP/driver.cpp +++ /dev/null @@ -1,40 +0,0 @@ -// file : CCF/Test/CompilerElements/CPP/driver.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include <iostream> - -#include "CCF/CompilerElements/TokenStream.hpp" -#include "CCF/CompilerElements/Preprocessor.hpp" - -using std::cout; -using std::endl; - -using CCF::CompilerElements::InputStreamAdapter; - -using namespace CCF::CompilerElements::CPP; - -int -main () -{ - InputStreamAdapter isa (std::cin); - Preprocessor pp (isa); - - try - { - for (;;) - { - Token t (pp.next ()); - - if (t == Token::eos) break; - - std::cout << t; - } - } - catch (std::exception const& e) - { - cout << e.what () << endl; - } - - return 0; -} diff --git a/CIAO/CCF/Test/IDL2/Compiler/driver.cpp b/CIAO/CCF/Test/IDL2/Compiler/driver.cpp deleted file mode 100644 index 71d8dc9b971..00000000000 --- a/CIAO/CCF/Test/IDL2/Compiler/driver.cpp +++ /dev/null @@ -1,94 +0,0 @@ -// file : Test/IDL2/Compiler/driver.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include "CCF/CompilerElements/Context.hpp" -#include "CCF/CompilerElements/FileSystem.hpp" -#include "CCF/CompilerElements/Diagnostic.hpp" -#include "CCF/CompilerElements/TokenStream.hpp" -#include "CCF/CompilerElements/Preprocessor.hpp" - -#include "CCF/IDL2/LexicalAnalyzer.hpp" -#include "CCF/IDL2/Parser.hpp" -#include "CCF/IDL2/SemanticGraph.hpp" -#include "CCF/IDL2/SemanticAction/Impl/Factory.hpp" - -#include "../Traversal/Recreate/Generator.hpp" - -#include <iostream> - -using std::cerr; -using std::cout; -using std::endl; - -using namespace CCF::CompilerElements; -using namespace CCF::IDL2; -using namespace CCF::IDL2::SemanticGraph; - -int -main () -{ - try - { - Diagnostic::Stream dout; - - fs::path file_path ("stdout"); - - InputStreamAdapter isa (std::cin); - CPP::Preprocessor pp (isa); - - LexicalAnalyzer lexer (pp); - - TokenList token_stream; - - //@@ bad token comparison - for (TokenPtr token = lexer.next ();; token = lexer.next ()) - { - token_stream.push_back (token); - if (ReferenceCounting::strict_cast<EndOfStream> (token) != 0) break; - } - - if (token_stream.size () < 2) - { - cerr << "no tokens produced so nothing to parse" << endl; - return 0; - } - - TranslationUnit tu; - - // Compilation context. - // - CCF::CompilerElements::Context context; - context.set ("file-path", file_path); - context.set ("trace-semantic-action", false); - - - SemanticAction::Impl::Factory actions (context, dout, tu); - - Parser parser (context, dout, lexer, actions); - - Parsing::parse (token_stream.begin (), - token_stream.end (), - parser.start ()); - - if (dout.error_count () != 0) return -1; - - IDL2::Generator g; - - g.generate (tu); - - } - catch (std::bad_cast const&) - { - cerr << "bad cast exception" << endl; - } - catch (InvalidName const&) - { - cerr << "invalid name exception" << endl; - } - catch (...) - { - cerr << "caught unknown exception" << endl; - return -1; - } -} diff --git a/CIAO/CCF/Test/IDL2/Compiler/result.idl.orig b/CIAO/CCF/Test/IDL2/Compiler/result.idl.orig deleted file mode 100644 index a29258b9e6f..00000000000 --- a/CIAO/CCF/Test/IDL2/Compiler/result.idl.orig +++ /dev/null @@ -1,88 +0,0 @@ -module AttributeTest -{ - interface I - { - attribute long a; - attribute string foo; - }; -}; -module InterfaceTest -{ - abstract interface AI; - local interface LI; - interface I; - abstract interface AI - { - }; - interface I : ::InterfaceTest::AI - { - }; - local interface LI : ::InterfaceTest::I, ::InterfaceTest::AI - { - }; -}; -module MemberTest -{ - typedef long Id; - struct S - { - long id; - string foo; - string bar; - string baz; - }; -}; -module ModuleTest -{ - module M - { - module N - { - typedef long L; - }; - }; - module M - { - typedef long L; - }; - module N - { - typedef long L; - }; -}; -module OperationTest -{ - interface I - { - long f (in string a, out long b, inout octet c); - }; -}; -module Sequence -{ - typedef sequence<octet> OctetSeq; - typedef sequence<octet> RawSeq; - typedef sequence<string> StringSeq; - typedef sequence<string> StrSeq; -}; -module StructTest -{ - struct S; - struct S - { - long m; - }; -}; -module TypeidTest -{ - interface I; - typeid ::TypeidTest::I "Foo"; - typeprefix ::TypeidTest "Bar"; -}; -module TypedefTest -{ - interface I; - typedef ::TypedefTest::I J; - interface I - { - }; -}; diff --git a/CIAO/CCF/Test/IDL2/Compiler/test.idl b/CIAO/CCF/Test/IDL2/Compiler/test.idl deleted file mode 100644 index 737a729524b..00000000000 --- a/CIAO/CCF/Test/IDL2/Compiler/test.idl +++ /dev/null @@ -1,151 +0,0 @@ -// file : CCF/Test/IDL2/Compiler/test.idl -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -// Attribute -// -// -module AttributeTest -{ - interface I - { - attribute long a; - attribute string foo; - }; -}; - -// Interface -// -// -module InterfaceTest -{ - abstract interface AI; - local interface LI; - interface I; - - abstract interface AI - { - }; - - interface I : AI - { - }; - - local interface LI : I, AI - { - }; -}; - -// Member -// -// -module MemberTest -{ - typedef long Id; - - struct S - { - Id id; - string foo, bar, baz; - }; -}; - -// Module -// -// -module ModuleTest -{ - module M - { - module N - { - typedef long L; - }; - }; - - module M - { - typedef N::L L; - }; - - module N - { - typedef M::N::L L; - }; -}; - - -// Operation -// -// -module OperationTest -{ - interface I - { - long f (in string a, out long b, inout octet c); - }; -}; - - -// Sequence -// -// -module Sequence -{ - typedef sequence<octet> OctetSeq; - - typedef OctetSeq RawSeq; - - typedef sequence<string> StringSeq, StrSeq; -}; - - -// Struct -// -// -module StructTest -{ - struct S; - - struct S - { - long m; // Struct cannot be empty. - }; - -}; - -// Typeid -// -// -module TypeidTest -{ - interface I; - - typeid I "Foo"; - typeprefix TypeidTest "Bar"; -}; - - -// Typedef -// -// - -module TypedefTest -{ - interface I; - - typedef I J; - - interface I - { - /* - struct S - { - long l; - }; - - J::S op (); - */ - }; -}; - diff --git a/CIAO/CCF/Test/IDL2/LexicalAnalyzer/Coverage.idl b/CIAO/CCF/Test/IDL2/LexicalAnalyzer/Coverage.idl deleted file mode 100644 index a29dde465d2..00000000000 --- a/CIAO/CCF/Test/IDL2/LexicalAnalyzer/Coverage.idl +++ /dev/null @@ -1,25 +0,0 @@ -// file : CCF/Test/IDL2/LexicalAnalyzer/Coverage.idl -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -// This file is supposed to cover an IDL2 lexical structure and intended -// for IDL2 lexer regression testing. -// - -abstract interface FA; - -abstract interface A -{ - void foo (in long l, out boolean b, inout FA fa); -}; - -module M -{ - interface I - { - }; -}; - -local interface L : ::A, M::I -{ -}; diff --git a/CIAO/CCF/Test/IDL2/Parser/Recovery/interface.idl b/CIAO/CCF/Test/IDL2/Parser/Recovery/interface.idl deleted file mode 100644 index 22a99ffadf2..00000000000 --- a/CIAO/CCF/Test/IDL2/Parser/Recovery/interface.idl +++ /dev/null @@ -1,41 +0,0 @@ -// file : CCF/Test/IDL2/Parsing/Recovery/interface.idl -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -interface Base {}; - - -// Interface declaration syntax errors -// -// - -local intrrface L; - -// - -abstract interrface A; - -// - -interface ; - -// - -interface I : {}; - -// - -interface I : Base, {}; - -// - -interface I }; - -// - -interface I {; - -// - -interface I {} - diff --git a/CIAO/CCF/Test/IDL2/Parser/Recovery/module.idl b/CIAO/CCF/Test/IDL2/Parser/Recovery/module.idl deleted file mode 100644 index edfd868809b..00000000000 --- a/CIAO/CCF/Test/IDL2/Parser/Recovery/module.idl +++ /dev/null @@ -1,38 +0,0 @@ -// file : CCF/Test/IDL2/Parsing/Recovery/module.idl -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -// Module declaration syntax errors -// -// - -// - -module; - -// - -module M; - -// - -module M {; - -// - -module M {} - - -// - -module M { - interface I; -; - -// - -module N -{ - interface I; -} - diff --git a/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.cpp b/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.cpp deleted file mode 100644 index 764ab3fbc6f..00000000000 --- a/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.cpp +++ /dev/null @@ -1,165 +0,0 @@ -// file : Test/IDL2/SemanticGraph/HandBuilt/Builder.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include <iostream> - -#include "Builder.hpp" - -using namespace CCF::IDL2::SemanticGraph; - -//@@ tmp -using std::cerr; -using std::endl; - -TranslationUnit* Builder:: -build () -{ - /* - 0 - 1 #include "../foo/quote.idl" - 2 #include <ui/bracket.idl> - 3 - 4 module M - 5 { - 6 - 7 interface I; - 8 - 9 typedef I J; - 10 - 11 interface I - 12 { - 13 void f (in long id, out string name); - 14 - 15 attribute long a; - 16 }; - 17 - 18 interface Q : J {}; - 19 - 20 typeid I "Foo"; - 21 typeprefix M "Bar"; - 22 - 23 struct S - 24 { - 25 long member; - 26 }; - 27 - 28 typedef sequence<long> LongSeq; - 29 - 30 }; - 31 - 32 - */ - - //@@ names can be spcified without explicit construction. - // - - TranslationUnit& tu (*(new TranslationUnit)); - - - // 0: Implied translation region with fundamental types. - // - // - TranslationRegion& fundamental (tu.new_node<TranslationRegion> ()); - tu.new_edge<ContainsImplied> (tu, fundamental, ".fundamental"); - - Root& fundamental_root (tu.new_node<Root> ()); - tu.new_edge<ContainsRoot> (fundamental, fundamental_root); - - Void& void_ (tu.new_node<Void> ()); - tu.new_edge<Defines> (fundamental_root, void_, SimpleName ("void")); - - Long& long_ (tu.new_node<Long> ()); - tu.new_edge<Defines> (fundamental_root, long_, SimpleName ("long")); - - String& string_ (tu.new_node<String> ()); - tu.new_edge<Defines> (fundamental_root, string_, SimpleName ("string")); - - // Principal translation region. - // - TranslationRegion& principal (tu.new_node<TranslationRegion> ()); - tu.new_edge<ContainsPrincipal> (tu, principal); - - // 1: Quote included translation region. - // - TranslationRegion& quote_included (tu.new_node<TranslationRegion> ()); - tu.new_edge<QuoteIncludes> (principal, quote_included, "../foo/quote.idl"); - - // 2: Bracket included translation region. - // - TranslationRegion& braket_included (tu.new_node<TranslationRegion> ()); - tu.new_edge<BracketIncludes> (principal, braket_included, "ui/bracket.idl"); - - Root& root (tu.new_node<Root> ()); - tu.new_edge<ContainsRoot> (principal, root); - - // 4-5: - // - Module& m (tu.new_node<Module> ()); - tu.new_edge<Defines> (root, m, SimpleName ("M")); - - // 7-11: - // - UnconstrainedInterface& i (tu.new_node<UnconstrainedInterface> ()); - tu.new_edge<Mentions> (m, i, SimpleName ("I")); - tu.new_edge<Aliases> (m, i, SimpleName ("J")); - tu.new_edge<Defines> (m, i, SimpleName ("I")); - - // 13: - // - TwoWayOperation& f (tu.new_node<TwoWayOperation> ()); - tu.new_edge<Returns> (f, void_); - - Parameter& id (tu.new_node<InParameter> ("id")); - tu.new_edge<Belongs> (id, long_); - tu.new_edge<Receives> (f, id); - - Parameter& name (tu.new_node<OutParameter> ("name")); - tu.new_edge<Belongs> (name, string_); - tu.new_edge<Receives> (f, name); - - tu.new_edge<Defines> (i, f, SimpleName ("f")); - - // 15: - // - Attribute& a (tu.new_node<Attribute> ()); - tu.new_edge<Belongs> (a, long_); - tu.new_edge<Defines> (i, a, SimpleName ("a")); - - // 18: - // - UnconstrainedInterface& q (tu.new_node<UnconstrainedInterface> ()); - tu.new_edge<Inherits> (q, i); - tu.new_edge<Defines> (m, q, SimpleName ("Q")); - - // 20: - // - TypeId& ti (tu.new_node<TypeId> ( - ScopedName ("::M::I"), StringLiteral ("Foo"))); - tu.new_edge<Defines> (m, ti, SimpleName ("typeid")); - - // 21: - // - TypePrefix& tp (tu.new_node<TypePrefix> ( - ScopedName ("::M"), StringLiteral ("Bar"))); - tu.new_edge<Defines> (m, tp, SimpleName ("typeprefix")); - - // 23-24: - // - Struct& s (tu.new_node<Struct> ()); - tu.new_edge<Defines> (m, s, SimpleName ("S")); - - // 25: - // - Member& member (tu.new_node<Member> ()); - tu.new_edge<Belongs> (member, long_); - tu.new_edge<Defines> (s, member, SimpleName ("member")); - - // 28: - // - UnboundedSequence& long_seq (tu.new_node<UnboundedSequence> ()); - tu.new_edge<Specialized> (long_seq, long_); - tu.new_edge<Aliases> (m, long_seq, SimpleName ("LongSeq")); - - return &tu; -} diff --git a/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.hpp b/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.hpp deleted file mode 100644 index 794c56547d2..00000000000 --- a/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/Builder.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// file : Test/IDL2/SemanticGraph/HandBuilt/Builder.hpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#ifndef TEST_IDL2_SEMANTIC_GRAPH_BUILDER_HPP -#define TEST_IDL2_SEMANTIC_GRAPH_BUILDER_HPP - -#include "CCF/IDL2/SemanticGraph.hpp" - -class Builder -{ -public: - CCF::IDL2::SemanticGraph::TranslationUnit* - build (); -}; - -#endif // TEST_IDL2_SEMANTIC_GRAPH_BUILDER_HPP diff --git a/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/hand_built.cpp b/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/hand_built.cpp deleted file mode 100644 index 3640282cfe3..00000000000 --- a/CIAO/CCF/Test/IDL2/SemanticGraph/HandBuilt/hand_built.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// file : Test/IDL2/SemanticGraph/HandBuilt/hand_built.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include "Builder.hpp" - -using namespace CCF::IDL2; - -int -main () -{ - Builder b; - SemanticGraph::TranslationUnit& tu (*b.build ()); - - delete &tu; -} diff --git a/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.cpp b/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.cpp deleted file mode 100644 index 8aa3e895b9d..00000000000 --- a/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// file : Test/IDL2/Traversal/Recreate/Generator.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include "Generator.hpp" -#include "GeneratorImpl.hpp" - -namespace IDL2 -{ - Generator:: - ~Generator () - { - } - - Generator:: - Generator () - : pimpl_ (new GeneratorImpl), impl_ (*pimpl_) - { - } - - Generator:: - Generator (GeneratorImpl& gi) - : pimpl_ (), impl_ (gi) - { - } - - void Generator:: - generate (CCF::IDL2::SemanticGraph::TranslationUnit& tu) - { - impl_.generate (tu); - } -} diff --git a/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.hpp b/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.hpp deleted file mode 100644 index b0387317ad5..00000000000 --- a/CIAO/CCF/Test/IDL2/Traversal/Recreate/Generator.hpp +++ /dev/null @@ -1,34 +0,0 @@ -// file : Test/IDL2/Traversal/Recreate/Generator.hpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#ifndef TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_HPP -#define TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_HPP - -#include <memory> - -#include "CCF/IDL2/SemanticGraph.hpp" - -namespace IDL2 -{ - class GeneratorImpl; - - class Generator - { - public: - ~Generator (); - Generator (); - - void - generate (CCF::IDL2::SemanticGraph::TranslationUnit& tu); - - protected: - Generator (GeneratorImpl&); - - protected: - std::auto_ptr<GeneratorImpl> pimpl_; - GeneratorImpl& impl_; - }; -} - -#endif // TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_HPP diff --git a/CIAO/CCF/Test/IDL2/Traversal/Recreate/GeneratorImpl.hpp b/CIAO/CCF/Test/IDL2/Traversal/Recreate/GeneratorImpl.hpp deleted file mode 100644 index 52b89e03e12..00000000000 --- a/CIAO/CCF/Test/IDL2/Traversal/Recreate/GeneratorImpl.hpp +++ /dev/null @@ -1,682 +0,0 @@ -// file : Test/IDL2/Traversal/Recreate/GeneratorImpl.hpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#ifndef TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_IMPL_HPP -#define TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_IMPL_HPP - -#include <iostream> - -#include "CCF/CodeGenerationKit/IndentationIDL.hpp" -#include "CCF/CodeGenerationKit/IndentationImplanter.hpp" - -#include "CCF/IDL2/SemanticGraph.hpp" -#include "CCF/IDL2/Traversal.hpp" - -namespace IDL2 -{ - using namespace CCF::IDL2; - using namespace CCF::IDL2::SemanticGraph; - - using std::cout; - using std::endl; - - class GeneratorImpl - { - protected: - // Layer 1 - // - - // Layer 2 - // - struct BracketIncludes : Traversal::BracketIncludes - { - virtual void - traverse (Type& qi) - { - cout << "include <" << qi.file ().string () << ">" << endl; - } - }; - - struct QuoteIncludes : Traversal::QuoteIncludes - { - virtual void - traverse (Type& qi) - { - cout << "include \"" << qi.file ().string () << "\"" << endl; - } - }; - - //-- - - // Layer 3 - // - - struct Aliases : Traversal::Aliases - { - virtual void - pre (Type&) - { - cout << "typedef "; - } - - virtual void - name (Type& a) - { - cout << " " << a.name (); - } - - virtual void - post (Type&) - { - cout << ";"; - } - }; - - //-- - - struct AbstractInterfaceFwd : Traversal::AbstractInterface - { - virtual void - traverse (Type& i) - { - cout << "abstract interface " << i.name () << ";"; - } - }; - - struct LocalInterfaceFwd : Traversal::LocalInterface - { - virtual void - traverse (Type& i) - { - cout << "local interface " << i.name () << ";"; - } - }; - - struct UnconstrainedInterfaceFwd : Traversal::UnconstrainedInterface - { - virtual void - traverse (Type& i) - { - cout << "interface " << i.name () << ";"; - } - }; - - struct StructFwd : Traversal::Struct - { - virtual void - traverse (Type& i) - { - cout << "struct " << i.name () << ";"; - } - }; - - - struct AbstractInterface : Traversal::AbstractInterface - { - virtual void - pre (Type&) - { - cout << "abstract interface "; - } - - virtual void - name (Type& i) - { - cout << i.name (); - } - - virtual void - inherits_pre (Type&) - { - cout << " : "; - } - - virtual void - names_pre (Type&) - { - cout << "{"; - } - - virtual void - names_post (Type&) - { - cout << "}"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - struct LocalInterface : Traversal::LocalInterface - { - virtual void - pre (Type&) - { - cout << "local interface "; - } - - virtual void - name (Type& i) - { - cout << i.name (); - } - - virtual void - inherits_pre (Type&) - { - cout << " : "; - } - - virtual void - names_pre (Type&) - { - cout << "{"; - } - - virtual void - names_post (Type&) - { - cout << "}"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - struct UnconstrainedInterface : Traversal::UnconstrainedInterface - { - virtual void - pre (Type&) - { - cout << "interface "; - } - - virtual void - name (Type& i) - { - cout << i.name (); - } - - virtual void - inherits_pre (Type&) - { - cout << " : "; - } - - virtual void - names_pre (Type&) - { - cout << "{"; - } - - virtual void - names_post (Type&) - { - cout << "}"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - - struct Module : Traversal::Module - { - virtual void - pre (Type& m) - { - cout << "module " << m.name (); - } - - virtual void - names_pre (Type& m) - { - cout << "{"; - } - - virtual void - names_post (Type& m) - { - cout << "}"; - } - - virtual void - post (Type& m) - { - cout << ";"; - } - }; - - struct Struct : Traversal::Struct - { - virtual void - pre (Type&) - { - cout << "struct "; - } - - virtual void - name (Type& s) - { - cout << s.name (); - } - - virtual void - names_pre (Type&) - { - cout << "{"; - } - - virtual void - names_post (Type&) - { - cout << "}"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - }; - - - struct TypeId : Traversal::TypeId - { - virtual void - traverse (Type& ti) - { - cout << "typeid " << ti.declaration () << " " << ti.id () << ";"; - } - }; - - - struct TypePrefix : Traversal::TypePrefix - { - virtual void - traverse (Type& ti) - { - cout << "typeprefix " << ti.declaration () << " " - << ti.prefix () << ";"; - } - }; - - struct TypeName : Traversal::Nameable, - Traversal::FundamentalType - { - virtual void - traverse (SemanticGraph::Nameable& n) - { - cout << n.scoped_name (); - } - - virtual void - traverse (SemanticGraph::FundamentalType& ft) - { - cout << ft.name (); - } - }; - - struct UnboundedSequence : Traversal::UnboundedSequence - { - virtual void - pre (Type&) - { - cout << "sequence<"; - } - - virtual void - post (Type&) - { - cout << ">"; - } - }; - - // Layer 4 - // - - //-- - - struct Operation : Traversal::Operation - { - virtual void - name (Type& o) - { - cout << " " << o.name (); - } - - virtual void - receives_pre (Type&) - { - cout << " ("; - } - - virtual void - receives_post (Type&) - { - cout << ")"; - } - - virtual void - raises_pre (Type&) - { - cout << " raises ("; - } - - virtual void - raises_post (Type&) - { - cout << ")"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - struct Attribute : Traversal::Attribute - { - virtual void - pre (Type&) - { - cout << "attribute "; - } - - virtual void - name (Type& a) - { - cout << " " << a.name (); - } - - virtual void - post (Type&) - { - cout << ";"; - } - - }; - - struct Member : Traversal::Member - { - virtual void - name (Type& m) - { - cout << " " << m.name (); - } - - virtual void - post (Type&) - { - cout << ";"; - } - }; - - // Layer 5 - // - - //-- - - struct Parameter : Traversal::InParameter, - Traversal::OutParameter, - Traversal::InOutParameter - { - virtual void - pre (InParameter& p) - { - cout << " in "; - } - - virtual void - pre (OutParameter& p) - { - cout << " out "; - } - - virtual void - pre (InOutParameter& p) - { - cout << " inout "; - } - - virtual void - name (InParameter& p) - { - cout << p.name (); - } - - virtual void - name (OutParameter& p) - { - cout << p.name (); - } - - virtual void - name (InOutParameter& p) - { - cout << p.name (); - } - }; - - public: - - GeneratorImpl () - { - // Layer 1 - // - unit.edge_traverser (contains_principal); - - //-- - - contains_principal.node_traverser (region); - - // Layer 2 - // - region.edge_traverser (quote_includes); - region.edge_traverser (bracket_includes); - region.edge_traverser (contains_root); - - //-- - - contains_root.node_traverser (root); - - // Layer 3 - // - root.edge_traverser (mentions); - root.edge_traverser (defines); - root.edge_traverser (aliases); - - //-- - - mentions.node_traverser (abstract_interface_fwd); - mentions.node_traverser (local_interface_fwd); - mentions.node_traverser (unconstrained_interface_fwd); - mentions.node_traverser (struct_fwd); - - defines.node_traverser (abstract_interface); - defines.node_traverser (local_interface); - defines.node_traverser (unconstrained_interface); - defines.node_traverser (module); - defines.node_traverser (struct_); - defines.node_traverser (type_id); - defines.node_traverser (type_prefix); - - aliases.node_traverser (type_name); - aliases.node_traverser (unbounded_sequence); - - // Layer 4 - // - module.edge_traverser (mentions); - module.edge_traverser (defines); - module.edge_traverser (aliases); - - abstract_interface.edge_traverser (inherits); - local_interface.edge_traverser (inherits); - unconstrained_interface.edge_traverser (inherits); - - abstract_interface.edge_traverser (interface_defines); - local_interface.edge_traverser (interface_defines); - unconstrained_interface.edge_traverser (interface_defines); - - struct_.edge_traverser (struct_defines); - - unbounded_sequence.edge_traverser (specialized); - - //-- - - inherits.node_traverser (type_name); - - interface_defines.node_traverser (operation); - interface_defines.node_traverser (attribute); - - struct_defines.node_traverser (member); - - specialized.node_traverser (type_name); - - // Layer 5 - // - - operation.edge_traverser (receives); - operation.edge_traverser (returns); - - attribute.edge_traverser (belongs); - - member.edge_traverser (belongs); - - //-- - - receives.node_traverser (parameter); - returns.node_traverser (type_name); - belongs.node_traverser (type_name); - - // Layer 6 - // - parameter.edge_traverser (belongs); - - } - - protected: - Traversal::TranslationUnit unit; - - // Layer 1 - // - Traversal::ContainsPrincipal contains_principal; - - //-- - - Traversal::TranslationRegion region; - - // Layer 2 - // - BracketIncludes bracket_includes; - QuoteIncludes quote_includes; - Traversal::ContainsRoot contains_root; - - //-- - - Traversal::Root root; - - // Layer 3 - // - Traversal::Mentions mentions; - Traversal::Defines defines; - Aliases aliases; - - //-- - - AbstractInterfaceFwd abstract_interface_fwd; - LocalInterfaceFwd local_interface_fwd; - UnconstrainedInterfaceFwd unconstrained_interface_fwd; - - StructFwd struct_fwd; - - AbstractInterface abstract_interface; - LocalInterface local_interface; - UnconstrainedInterface unconstrained_interface; - - Module module; - - Struct struct_; - - TypeId type_id; - TypePrefix type_prefix; - - TypeName type_name; - - UnboundedSequence unbounded_sequence; - - // Layer 4 - // - Traversal::Inherits inherits; - Traversal::Defines interface_defines; - Traversal::Defines struct_defines; - Traversal::Specialized specialized; - - //-- - - Operation operation; - Attribute attribute; - Member member; - - // Layer 5 - // - Traversal::Receives receives; - Traversal::Returns returns; - Traversal::Belongs belongs; - - //-- - - Parameter parameter; - - // Layer 6 - // - - public: - void - generate (CCF::IDL2::SemanticGraph::TranslationUnit& tu) - { - // Plug automatic IDL indenter. - // - Indentation::Implanter<Indentation::IDL> guard (cout); - - unit.traverse (tu); - } - }; -} - -#endif // TEST_IDL2_TRAVERSAL_RECREATE_GENERATOR_IMPL_HPP diff --git a/CIAO/CCF/Test/IDL2/Traversal/Recreate/recreate.cpp b/CIAO/CCF/Test/IDL2/Traversal/Recreate/recreate.cpp deleted file mode 100644 index 560040bbcb0..00000000000 --- a/CIAO/CCF/Test/IDL2/Traversal/Recreate/recreate.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// file : Test/IDL2/Traversal/Recreate/recreate.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include <iostream> - -#include "CCF/IDL2/SemanticGraph.hpp" - -#include "../../SemanticGraph/HandBuilt/Builder.hpp" - -#include "Generator.hpp" - -int -main () -{ - Builder b; - CCF::IDL2::SemanticGraph::TranslationUnit& tu (*b.build ()); - - IDL2::Generator g; - - g.generate (tu); - - delete &tu; -} diff --git a/CIAO/CCF/Test/IDL3/Compiler/Generator.cpp b/CIAO/CCF/Test/IDL3/Compiler/Generator.cpp deleted file mode 100644 index 06310ecd4b8..00000000000 --- a/CIAO/CCF/Test/IDL3/Compiler/Generator.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// file : Test/IDL3/Compiler/Generator.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include "Generator.hpp" -#include "GeneratorImpl.hpp" - -namespace IDL3 -{ - Generator:: - ~Generator () - { - } - - Generator:: - Generator () - : pimpl_ (new GeneratorImpl), impl_ (*pimpl_) - { - } - - Generator:: - Generator (GeneratorImpl& gi) - : pimpl_ (), impl_ (gi) - { - } - - void Generator:: - generate (CCF::IDL3::SemanticGraph::TranslationUnit& tu) - { - impl_.generate (tu); - } -} diff --git a/CIAO/CCF/Test/IDL3/Compiler/Generator.hpp b/CIAO/CCF/Test/IDL3/Compiler/Generator.hpp deleted file mode 100644 index 667e1d3c69f..00000000000 --- a/CIAO/CCF/Test/IDL3/Compiler/Generator.hpp +++ /dev/null @@ -1,34 +0,0 @@ -// file : Test/IDL3/Compiler/Generator.hpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#ifndef TEST_IDL3_COMPILER_GENERATOR_HPP -#define TEST_IDL3_COMPILER_GENERATOR_HPP - -#include <memory> - -#include "CCF/IDL3/SemanticGraph.hpp" - -namespace IDL3 -{ - class GeneratorImpl; - - class Generator - { - public: - ~Generator (); - Generator (); - - void - generate (CCF::IDL3::SemanticGraph::TranslationUnit& tu); - - protected: - Generator (GeneratorImpl&); - - protected: - std::auto_ptr<GeneratorImpl> pimpl_; - GeneratorImpl& impl_; - }; -} - -#endif // TEST_IDL3_COMPILER_GENERATOR_HPP diff --git a/CIAO/CCF/Test/IDL3/Compiler/GeneratorImpl.hpp b/CIAO/CCF/Test/IDL3/Compiler/GeneratorImpl.hpp deleted file mode 100644 index 91e3ab3cb49..00000000000 --- a/CIAO/CCF/Test/IDL3/Compiler/GeneratorImpl.hpp +++ /dev/null @@ -1,616 +0,0 @@ -// file : Test/IDL3/Compiler/GeneratorImpl.hpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#ifndef TEST_IDL3_COMPILER_GENERATOR_IMPL_HPP -#define TEST_IDL3_COMPILER_GENERATOR_IMPL_HPP - -#include <iostream> - -#include "CCF/CodeGenerationKit/IndentationIDL.hpp" -#include "CCF/CodeGenerationKit/IndentationImplanter.hpp" - -#include "CCF/IDL3/SemanticGraph.hpp" -#include "CCF/IDL3/Traversal.hpp" - -#include "../../IDL2/Traversal/Recreate/GeneratorImpl.hpp" - -namespace IDL3 -{ - using namespace CCF::IDL3; - - using std::cout; - using std::endl; - - class GeneratorImpl : public IDL2::GeneratorImpl - { - protected: - // Layer 1 - // - - // Layer 2 - // - - // Layer 3 - // - - //-- - struct ComponentFwd : Traversal::Component - { - virtual void - traverse (Type& i) - { - cout << "component " << i.name () << ";"; - } - }; - - struct Component : Traversal::Component - { - virtual void - pre (Type&) - { - cout << "component "; - } - - virtual void - name (Type& i) - { - cout << i.name (); - } - - virtual void - inherits_pre (Type&) - { - cout << " : "; - } - - virtual void - supports_pre (Type&) - { - cout << " supports "; - } - - virtual void - names_pre (Type&) - { - cout << "{"; - } - - virtual void - names_post (Type&) - { - cout << "}"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - - struct Home : Traversal::Home - { - virtual void - pre (Type&) - { - cout << "home "; - } - - virtual void - name (Type& i) - { - cout << i.name (); - } - - virtual void - inherits_pre (Type&) - { - cout << " : "; - } - - virtual void - supports_pre (Type&) - { - cout << " supports "; - } - - virtual void - manages_pre (Type&) - { - cout << " manages "; - } - - virtual void - names_pre (Type&) - { - cout << "{"; - } - - virtual void - names_post (Type&) - { - cout << "}"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - struct AbstractEventType : Traversal::AbstractEventType - { - virtual void - pre (Type&) - { - cout << "abstract eventtype "; - } - - virtual void - name (Type& i) - { - cout << i.name (); - } - - virtual void - inherits_pre (Type&) - { - cout << " : "; - } - - virtual void - supports_pre (Type&) - { - cout << " supports "; - } - - virtual void - names_pre (Type&) - { - cout << "{"; - } - - virtual void - names_post (Type&) - { - cout << "}"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - struct ConcreteEventType : Traversal::ConcreteEventType - { - virtual void - pre (Type&) - { - cout << "eventtype "; - } - - virtual void - name (Type& i) - { - cout << i.name (); - } - - virtual void - inherits_pre (Type&) - { - cout << " : "; - } - - virtual void - supports_pre (Type&) - { - cout << " supports "; - } - - virtual void - names_pre (Type&) - { - cout << "{"; - } - - virtual void - names_post (Type&) - { - cout << "}"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - // Layer 4 - // - - struct Provider : Traversal::ProviderData - { - virtual void - pre (Type&) - { - cout << "provides "; - } - - virtual void - name (Type& e) - { - cout << " " << e.name (); - } - - virtual void - post (Type& e) - { - cout << ";"; - } - }; - - struct User : Traversal::UserData - { - virtual void - pre (Type&) - { - cout << "uses "; - } - - virtual void - name (Type& e) - { - cout << " " << e.name (); - } - - virtual void - post (Type& e) - { - cout << ";"; - } - }; - - struct Publisher : Traversal::PublisherData - { - virtual void - pre (Type&) - { - cout << "publishes "; - } - - virtual void - name (Type& e) - { - cout << " " << e.name (); - } - - virtual void - post (Type& e) - { - cout << ";"; - } - }; - - struct Emitter : Traversal::EmitterData - { - virtual void - pre (Type&) - { - cout << "emits "; - } - - virtual void - name (Type& e) - { - cout << " " << e.name (); - } - - virtual void - post (Type& e) - { - cout << ";"; - } - }; - - struct Consumer : Traversal::ConsumerData - { - virtual void - pre (Type&) - { - cout << "consumes "; - } - - virtual void - name (Type& e) - { - cout << " " << e.name (); - } - - virtual void - post (Type& e) - { - cout << ";"; - } - }; - - //-- - - struct HomeFactory : Traversal::HomeFactory - { - virtual void - returns (Type&) - { - cout << "factory "; - } - - virtual void - name (Type& hf) - { - cout << hf.name (); - } - - virtual void - receives_pre (Type&) - { - cout << " ("; - } - - virtual void - receives_post (Type&) - { - cout << ")"; - } - - virtual void - raises_pre (Type&) - { - cout << " raises ("; - } - - virtual void - raises_post (Type&) - { - cout << ")"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - - struct HomeFinder : Traversal::HomeFinder - { - virtual void - returns (Type&) - { - cout << "finder "; - } - - virtual void - name (Type& hf) - { - cout << hf.name (); - } - - virtual void - receives_pre (Type&) - { - cout << " ("; - } - - virtual void - receives_post (Type&) - { - cout << ")"; - } - - virtual void - raises_pre (Type&) - { - cout << " raises ("; - } - - virtual void - raises_post (Type&) - { - cout << ")"; - } - - virtual void - post (Type&) - { - cout << ";"; - } - - virtual void - comma (Type&) - { - cout << ", "; - } - }; - - // Layer 5 - // - - //-- - - public: - - GeneratorImpl () - { - // Layer 1 - // - - // Layer 2 - // - - // Layer 3 - // - - //-- - - mentions.node_traverser (component_fwd); - - defines.node_traverser (component); - - defines.node_traverser (home); - - defines.node_traverser (abstract_event_type); - defines.node_traverser (concrete_event_type); - - // Layer 4 - // - - component.edge_traverser (inherits); - component.edge_traverser (supports); - component.edge_traverser (component_defines); - - home.edge_traverser (inherits); - home.edge_traverser (supports); - home.edge_traverser (manages); - home.edge_traverser (home_defines); - - //@@ eventtype can define the whole bunch of stuff - // just like valuetype. - // - abstract_event_type.edge_traverser (inherits); - concrete_event_type.edge_traverser (inherits); - - //-- - - supports.node_traverser (type_name); - - component_defines.node_traverser (attribute); - component_defines.node_traverser (provider); - component_defines.node_traverser (user); - component_defines.node_traverser (publisher); - component_defines.node_traverser (emitter); - component_defines.node_traverser (consumer); - - manages.node_traverser (type_name); - - //@@ home can define the whole bunch of stuff just like - // interface & valuetype. - - home_defines.node_traverser (home_factory); - home_defines.node_traverser (home_finder); - - // Layer 5 - // - - provider.edge_traverser (belongs); - user.edge_traverser (belongs); - publisher.edge_traverser (belongs); - emitter.edge_traverser (belongs); - consumer.edge_traverser (belongs); - - home_factory.edge_traverser (receives); - home_finder.edge_traverser (receives); - - //-- - - // Layer 6 - // - - } - - protected: - // Layer 1 - // - - // Layer 2 - // - - // Layer 3 - // - - //-- - - ComponentFwd component_fwd; - - Component component; - - Home home; - - AbstractEventType abstract_event_type; - ConcreteEventType concrete_event_type; - - - // Layer 4 - // - Traversal::Supports supports; - Traversal::Defines component_defines; - - Traversal::Manages manages; - Traversal::Defines home_defines; - - //-- - - Provider provider; - User user; - Publisher publisher; - Emitter emitter; - Consumer consumer; - - HomeFactory home_factory; - HomeFinder home_finder; - - // Layer 5 - // - - // Layer 6 - // - - public: - void - generate (CCF::IDL3::SemanticGraph::TranslationUnit& tu) - { - // Plug automatic IDL indenter. - // - Indentation::Implanter<Indentation::IDL> guard (cout); - - unit.traverse (tu); - } - }; -} - -#endif // TEST_IDL3_COMPILER_GENERATOR_IMPL_HPP diff --git a/CIAO/CCF/Test/IDL3/Compiler/driver.cpp b/CIAO/CCF/Test/IDL3/Compiler/driver.cpp deleted file mode 100644 index d2f8ff91ba0..00000000000 --- a/CIAO/CCF/Test/IDL3/Compiler/driver.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// file : Test/IDL3/Compiler/driver.cpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -#include "CCF/CompilerElements/Context.hpp" -#include "CCF/CompilerElements/FileSystem.hpp" -#include "CCF/CompilerElements/Diagnostic.hpp" -#include "CCF/CompilerElements/TokenStream.hpp" -#include "CCF/CompilerElements/Preprocessor.hpp" - -#include "CCF/IDL3/LexicalAnalyzer.hpp" -#include "CCF/IDL3/Parser.hpp" -#include "CCF/IDL3/SemanticGraph.hpp" -#include "CCF/IDL3/SemanticAction/Impl/Factory.hpp" - -#include "Generator.hpp" - -#include <iostream> - -using std::cerr; -using std::cout; -using std::endl; - -using namespace CCF::CompilerElements; -using namespace CCF::IDL3; -using namespace SemanticGraph; - -int -main () -{ - try - { - Diagnostic::Stream dout; - - fs::path file_path ("stdout"); - - InputStreamAdapter isa (std::cin); - CPP::Preprocessor pp (isa); - - LexicalAnalyzer lexer (pp); - - TokenList token_stream; - - //@@ bad token comparison - for (TokenPtr token = lexer.next ();; token = lexer.next ()) - { - token_stream.push_back (token); - if (ReferenceCounting::strict_cast<EndOfStream> (token) != 0) break; - } - - if (token_stream.size () < 2) - { - cerr << "no tokens produced so nothing to parse" << endl; - return 0; - } - - TranslationUnit tu; - - // Compilation context. - // - CCF::CompilerElements::Context context; - context.set ("file-path", file_path); - context.set ("trace-semantic-action", false); - - - SemanticAction::Impl::Factory actions (context, dout, tu); - - Parser parser (context, dout, lexer, actions); - - //@@ should be able to use IDL3 here. Or better yet get rid of this - // function completely. - // - CCF::IDL2::Parsing::parse (token_stream.begin (), - token_stream.end (), - parser.start ()); - - if (dout.error_count () != 0) return -1; - - IDL3::Generator g; - - g.generate (tu); - - } - catch (std::bad_cast const&) - { - cerr << "bad cast exception" << endl; - } - catch (InvalidName const&) - { - cerr << "invalid name exception" << endl; - } - catch (...) - { - cerr << "caught unknown exception" << endl; - return -1; - } -} diff --git a/CIAO/CCF/Test/IDL3/Compiler/result.idl.orig b/CIAO/CCF/Test/IDL3/Compiler/result.idl.orig deleted file mode 100644 index 730e7c103cb..00000000000 --- a/CIAO/CCF/Test/IDL3/Compiler/result.idl.orig +++ /dev/null @@ -1,103 +0,0 @@ -module ComponentTest -{ - component A; - component B - { - }; - interface I - { - }; - interface J - { - }; - component A : ::ComponentTest::B supports ::ComponentTest::I, ::ComponentTest::J - { - }; -}; -module ConsumesTest -{ - eventtype E - { - }; - component C - { - consumes ::ConsumesTest::E e; - }; -}; -module EmitsTest -{ - eventtype E - { - }; - component C - { - emits ::EmitsTest::E e; - }; -}; -module EventTypeTest -{ - eventtype E - { - }; -}; -module HomeTest -{ - interface I - { - }; - interface J - { - }; - component A - { - }; - home AH manages ::HomeTest::A - { - }; - component B - { - }; - home BH : ::HomeTest::AH supports ::HomeTest::I, ::HomeTest::J manages ::HomeTest::B - { - }; -}; -module HomeFactoryTest -{ - component A - { - }; - home AH manages ::HomeFactoryTest::A - { - factory new (in long size); - }; -}; -module ProvidesTest -{ - interface I - { - }; - component C - { - provides ::ProvidesTest::I i; - }; -}; -module PublishesTest -{ - eventtype E - { - }; - component C - { - publishes ::PublishesTest::E e; - }; -}; -module UsesTest -{ - interface I - { - }; - component C - { - uses ::UsesTest::I i; - }; -}; diff --git a/CIAO/CCF/Test/IDL3/Compiler/test.idl b/CIAO/CCF/Test/IDL3/Compiler/test.idl deleted file mode 100644 index a7e1cfb1d5a..00000000000 --- a/CIAO/CCF/Test/IDL3/Compiler/test.idl +++ /dev/null @@ -1,166 +0,0 @@ -// file : CCF/Test/IDL3/Compiler/test.idl -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -// Component -// -// - -module ComponentTest -{ - component A; - - component B - { - }; - - interface I - { - }; - - interface J - { - }; - - component A : B supports I, J - { - }; -}; - - -// Consumes -// -// -module ConsumesTest -{ - eventtype E - { - }; - - component C - { - consumes E e; - }; -}; - - -// Emits -// -// -module EmitsTest -{ - eventtype E - { - }; - - component C - { - emits E e; - }; -}; - - -// EventType (incomplete) -// -// -module EventTypeTest -{ - eventtype E - { - }; -}; - - -// Home -// -// -module HomeTest -{ - interface I - { - }; - - interface J - { - }; - - component A - { - }; - - home AH manages A - { - }; - - component B - { - }; - - home BH : AH supports I, J manages B - { - }; -}; - - -// HomeFactory -// -// -module HomeFactoryTest -{ - component A - { - }; - - home AH manages A - { - factory new (in long size); - }; -}; - - -// Provides -// -// -module ProvidesTest -{ - interface I - { - }; - - component C - { - provides I i; - }; -}; - - -// Publishes -// -// -module PublishesTest -{ - eventtype E - { - }; - - component C - { - publishes E e; - }; -}; - - -// Uses -// -// -module UsesTest -{ - interface I - { - }; - - component C - { - uses I i; - }; -}; |