Паттерн: Фасад (Facade)
Исходник: Compiler.cpp, язык: C++ [code #468, hits: 6849]
автор: this [добавлен: 19.08.2007]
  1. class Compiler {
  2. public:
  3. Compiler();
  4. virtual void Compile(istream&, BytecodeStream&);
  5. };
  6. void Compiler::Compile (istream& input, BytecodeStreamk output) {
  7. Scanner scanner(input);
  8. ProgramNodeBuilder builder;
  9. Parser parser;
  10.  
  11. parser.Parse(scanner, builder);
  12.  
  13. RISCCodeGenerator generator(output);
  14. ProgramNode* parseTree = builder.GetRootNode();
  15. parseTree->Traverse(generator);
  16. }
Сущность Facade

Представляет собой, собственно, сам фасад, позволяющий собрать все эти подсистемы компиляции воедино.
Класс Compiler предоставляет простой интерфейс для компилирования исходного текста и генерации кода для конкретной машины.
Тестировалось на: MS Visual Studio 2005, .NET Framework 2.0

+добавить реализацию