Diff of /cmajor++/Cm/Cm.Parser/Delegate.hpp [000000] .. [r302] Maximize Restore

  Switch to side-by-side view

--- a
+++ b/cmajor++/Cm/Cm.Parser/Delegate.hpp
@@ -0,0 +1,33 @@
+#ifndef Delegate_hpp_4033
+#define Delegate_hpp_4033
+
+#include <Soul.Parsing/Grammar.hpp>
+#include <Soul.Parsing/Keyword.hpp>
+#include <Cm.Parser/ParsingContext.hpp>
+#include <Cm.Core/Delegate.hpp>
+
+namespace Cm { namespace Parser {
+
+using Cm::Core::DelegateTypePtr;
+using Soul::Parsing::GrammarPtr;
+using Soul::Parsing::ParsingDomainPtr;
+
+class DelegateGrammar;
+typedef std::shared_ptr<DelegateGrammar> DelegateGrammarPtr;
+
+class DelegateGrammar : public Soul::Parsing::Grammar
+{
+public:
+    static DelegateGrammarPtr Create();
+    static DelegateGrammarPtr Create(ParsingDomainPtr parsingDomain);
+    DelegateTypePtr Parse(const std::string& content, int fileIndex, const std::string& fileName, Cm::Core::ScopePtr enclosingScope, ParsingContextPtr ctx);
+private:
+    DelegateGrammar(ParsingDomainPtr parsingDomain_);
+    virtual void CreateRules();
+    virtual void GetReferencedGrammars();
+    class DelegateRule;
+};
+
+} } // namespace Cm.Parser
+
+#endif // Delegate_hpp_4033