WSF
GrammarDocumentation.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef GRAMMARDOCUMENTATION_HPP
13#define GRAMMARDOCUMENTATION_HPP
15class WsfParseNode;
18class WsfParseRule;
19#include <map>
20#include <string>
21#include <vector>
22
23#include "UtPath.hpp"
24
25namespace wizard
26{
28{
29public:
30 struct CommandFormatGroup;
31
32 void Process(WsfParseDefinitions& aDefinitions, const std::string& aWikiIndexFile);
33
34 bool FindDocumentation(WsfParseNode* aNodePtr, std::string& aPageLink, std::string& aAnchor);
35
36 std::string GetPageName(std::string aPageLink);
37
39
41 {
43 std::vector<WsfParseAlternate*> mSubCommands;
44 std::vector<std::string> mWords;
45 std::string mPageLink;
46 std::string mAnchor;
47 };
49 {
50 std::string mName;
51 std::vector<CommandFormatData> mCommands;
52 };
53 struct PageData;
54 typedef std::vector<std::string> StringList;
61
62 struct PageData
63 {
64 std::string mLink;
65 std::string mName;
66 std::string mTitle;
67 std::vector<PageCommand*> mCommands;
68 // set of rule-names specifically referenced by the writer of the wiki page
69 std::vector<std::string> mRuleReferences;
70 };
71
72 // std::map<WsfParseRule*, CommandFormatGroup> mReaderData;
73 std::map<std::string, CommandFormatGroup> mRuleCommandData;
74 std::map<WsfParseRule*, std::string> mReaderToRuleName;
75 std::map<WsfParseRule*, WsfParseRule*> mReaderToRule;
76 std::map<std::string, std::string> mPageTitleToLink;
77 std::map<std::string, std::string> mPageLinkToName;
79};
80} // namespace wizard
81#endif
Definition WsfParseAlternate.hpp:22
Definition WsfParseDefinitions.hpp:39
Definition WsfParseNode.hpp:61
Definition WsfParseRule.hpp:131
Definition WsfParseSequence.hpp:21
Definition GrammarDocumentation.hpp:28
bool FindDocumentation(WsfParseNode *aNodePtr, std::string &aPageLink, std::string &aAnchor)
Definition GrammarDocumentation.cpp:335
std::map< WsfParseRule *, std::string > mReaderToRuleName
Definition GrammarDocumentation.hpp:74
CommandFormatGroup * FindCommandFormatGroup(WsfParseRule *aReaderPtr)
Definition GrammarDocumentation.cpp:386
std::map< std::string, std::string > mPageLinkToName
Definition GrammarDocumentation.hpp:77
std::map< WsfParseRule *, WsfParseRule * > mReaderToRule
Definition GrammarDocumentation.hpp:75
std::map< std::string, std::string > mPageTitleToLink
Definition GrammarDocumentation.hpp:76
std::map< std::string, CommandFormatGroup > mRuleCommandData
Definition GrammarDocumentation.hpp:73
std::vector< std::string > StringList
Definition GrammarDocumentation.hpp:54
UtPath mDocumentationDir
Definition GrammarDocumentation.hpp:78
std::string GetPageName(std::string aPageLink)
Definition GrammarDocumentation.cpp:405
void Process(WsfParseDefinitions &aDefinitions, const std::string &aWikiIndexFile)
Definition GrammarDocumentation.cpp:104
Definition Runner.hpp:22
Definition GrammarDocumentation.hpp:41
std::string mAnchor
Definition GrammarDocumentation.hpp:46
std::string mPageLink
Definition GrammarDocumentation.hpp:45
std::vector< WsfParseAlternate * > mSubCommands
Definition GrammarDocumentation.hpp:43
std::vector< std::string > mWords
Definition GrammarDocumentation.hpp:44
WsfParseRule * mReaderPtr
Definition GrammarDocumentation.hpp:42
Definition GrammarDocumentation.hpp:49
std::string mName
Definition GrammarDocumentation.hpp:50
std::vector< CommandFormatData > mCommands
Definition GrammarDocumentation.hpp:51
Definition GrammarDocumentation.hpp:56
std::string mAnchor
Definition GrammarDocumentation.hpp:58
StringList mFormat
Definition GrammarDocumentation.hpp:59
PageData * mPagePtr
Definition GrammarDocumentation.hpp:57
Definition GrammarDocumentation.hpp:63
std::string mTitle
Definition GrammarDocumentation.hpp:66
std::vector< std::string > mRuleReferences
Definition GrammarDocumentation.hpp:69
std::string mLink
Definition GrammarDocumentation.hpp:64
std::vector< PageCommand * > mCommands
Definition GrammarDocumentation.hpp:67
std::string mName
Definition GrammarDocumentation.hpp:65
Copyrights Multiple, All Rights Reserved