Gramambular // Restore previous folder structure.
- Moving the DumpDOT() back to the Grid.h header.
This commit is contained in:
parent
9080add531
commit
08b35580ab
|
@ -60,7 +60,46 @@ public:
|
||||||
const std::string& value,
|
const std::string& value,
|
||||||
float overridingScore);
|
float overridingScore);
|
||||||
|
|
||||||
std::string dumpDOT();
|
std::string dumpDOT() {
|
||||||
|
std::stringstream sst;
|
||||||
|
sst << "digraph {" << std::endl;
|
||||||
|
sst << "graph [ rankdir=LR ];" << std::endl;
|
||||||
|
sst << "BOS;" << std::endl;
|
||||||
|
|
||||||
|
for (size_t p = 0; p < m_spans.size(); p++) {
|
||||||
|
Span& span = m_spans[p];
|
||||||
|
for (size_t ni = 0; ni <= span.maximumLength(); ni++) {
|
||||||
|
Node* np = span.nodeOfLength(ni);
|
||||||
|
if (np) {
|
||||||
|
if (!p) {
|
||||||
|
sst << "BOS -> " << np->currentKeyValue().value << ";" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
sst << np->currentKeyValue().value << ";" << std::endl;
|
||||||
|
|
||||||
|
if (p + ni < m_spans.size()) {
|
||||||
|
Span& dstSpan = m_spans[p + ni];
|
||||||
|
for (size_t q = 0; q <= dstSpan.maximumLength(); q++) {
|
||||||
|
Node* dn = dstSpan.nodeOfLength(q);
|
||||||
|
if (dn) {
|
||||||
|
sst << np->currentKeyValue().value << " -> "
|
||||||
|
<< dn->currentKeyValue().value << ";" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (p + ni == m_spans.size()) {
|
||||||
|
sst << np->currentKeyValue().value << " -> "
|
||||||
|
<< "EOS;" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sst << "EOS;" << std::endl;
|
||||||
|
sst << "}";
|
||||||
|
return sst.str();
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::vector<Span> m_spans;
|
std::vector<Span> m_spans;
|
||||||
|
|
|
@ -1,69 +0,0 @@
|
||||||
// Copyright (c) 2011 and onwards The OpenVanilla Project (MIT License).
|
|
||||||
// All possible vChewing-specific modifications are (c) 2021 and onwards The vChewing Project (MIT-NTL License).
|
|
||||||
/*
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
||||||
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
|
||||||
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
|
||||||
to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
1. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
2. No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor,
|
|
||||||
except as required to fulfill notice requirements above.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
|
||||||
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
||||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
||||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "Grid.h"
|
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
namespace Gramambular {
|
|
||||||
|
|
||||||
std::string Grid::dumpDOT() {
|
|
||||||
std::stringstream sst;
|
|
||||||
sst << "digraph {" << std::endl;
|
|
||||||
sst << "graph [ rankdir=LR ];" << std::endl;
|
|
||||||
sst << "BOS;" << std::endl;
|
|
||||||
|
|
||||||
for (size_t p = 0; p < m_spans.size(); p++) {
|
|
||||||
Span& span = m_spans[p];
|
|
||||||
for (size_t ni = 0; ni <= span.maximumLength(); ni++) {
|
|
||||||
Node* np = span.nodeOfLength(ni);
|
|
||||||
if (np) {
|
|
||||||
if (!p) {
|
|
||||||
sst << "BOS -> " << np->currentKeyValue().value << ";" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
sst << np->currentKeyValue().value << ";" << std::endl;
|
|
||||||
|
|
||||||
if (p + ni < m_spans.size()) {
|
|
||||||
Span& dstSpan = m_spans[p + ni];
|
|
||||||
for (size_t q = 0; q <= dstSpan.maximumLength(); q++) {
|
|
||||||
Node* dn = dstSpan.nodeOfLength(q);
|
|
||||||
if (dn) {
|
|
||||||
sst << np->currentKeyValue().value << " -> "
|
|
||||||
<< dn->currentKeyValue().value << ";" << std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (p + ni == m_spans.size()) {
|
|
||||||
sst << np->currentKeyValue().value << " -> "
|
|
||||||
<< "EOS;" << std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sst << "EOS;" << std::endl;
|
|
||||||
sst << "}";
|
|
||||||
return sst.str();
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Gramambular
|
|
||||||
|
|
|
@ -50,7 +50,6 @@
|
||||||
5BD05C6827B2BBEF004C4F1D /* Content.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD05C6327B2BBEF004C4F1D /* Content.swift */; };
|
5BD05C6827B2BBEF004C4F1D /* Content.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD05C6327B2BBEF004C4F1D /* Content.swift */; };
|
||||||
5BD05C6927B2BBEF004C4F1D /* WindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD05C6427B2BBEF004C4F1D /* WindowController.swift */; };
|
5BD05C6927B2BBEF004C4F1D /* WindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD05C6427B2BBEF004C4F1D /* WindowController.swift */; };
|
||||||
5BD05C6A27B2BBEF004C4F1D /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD05C6527B2BBEF004C4F1D /* ViewController.swift */; };
|
5BD05C6A27B2BBEF004C4F1D /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD05C6527B2BBEF004C4F1D /* ViewController.swift */; };
|
||||||
5BDC5CAB27C2873D00E1CCE2 /* Grid.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5BDC5CAA27C2873D00E1CCE2 /* Grid.mm */; };
|
|
||||||
5BDC5CB327C28E8B00E1CCE2 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 5BDC5CB227C28E8B00E1CCE2 /* icon.icns */; };
|
5BDC5CB327C28E8B00E1CCE2 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 5BDC5CB227C28E8B00E1CCE2 /* icon.icns */; };
|
||||||
5BDC5CB527C28E8B00E1CCE2 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BDC5CB427C28E8B00E1CCE2 /* ShareViewController.swift */; };
|
5BDC5CB527C28E8B00E1CCE2 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BDC5CB427C28E8B00E1CCE2 /* ShareViewController.swift */; };
|
||||||
5BDC5CB827C28E8B00E1CCE2 /* ShareViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5BDC5CB627C28E8B00E1CCE2 /* ShareViewController.xib */; };
|
5BDC5CB827C28E8B00E1CCE2 /* ShareViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5BDC5CB627C28E8B00E1CCE2 /* ShareViewController.xib */; };
|
||||||
|
@ -231,7 +230,6 @@
|
||||||
5BD05C6327B2BBEF004C4F1D /* Content.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Content.swift; sourceTree = "<group>"; };
|
5BD05C6327B2BBEF004C4F1D /* Content.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Content.swift; sourceTree = "<group>"; };
|
||||||
5BD05C6427B2BBEF004C4F1D /* WindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WindowController.swift; sourceTree = "<group>"; };
|
5BD05C6427B2BBEF004C4F1D /* WindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WindowController.swift; sourceTree = "<group>"; };
|
||||||
5BD05C6527B2BBEF004C4F1D /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
|
5BD05C6527B2BBEF004C4F1D /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
|
||||||
5BDC5CAA27C2873D00E1CCE2 /* Grid.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = Grid.mm; sourceTree = "<group>"; };
|
|
||||||
5BDC5CB027C28E8B00E1CCE2 /* KeyboardExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = KeyboardExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
5BDC5CB027C28E8B00E1CCE2 /* KeyboardExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = KeyboardExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
5BDC5CB227C28E8B00E1CCE2 /* icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icon.icns; sourceTree = "<group>"; };
|
5BDC5CB227C28E8B00E1CCE2 /* icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icon.icns; sourceTree = "<group>"; };
|
||||||
5BDC5CB427C28E8B00E1CCE2 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = "<group>"; };
|
5BDC5CB427C28E8B00E1CCE2 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = "<group>"; };
|
||||||
|
@ -752,7 +750,6 @@
|
||||||
6A0D4F1515FC0EB100ABF4B3 /* BlockReadingBuilder.h */,
|
6A0D4F1515FC0EB100ABF4B3 /* BlockReadingBuilder.h */,
|
||||||
6A0D4F1615FC0EB100ABF4B3 /* Gramambular.h */,
|
6A0D4F1615FC0EB100ABF4B3 /* Gramambular.h */,
|
||||||
6A0D4F1715FC0EB100ABF4B3 /* Grid.h */,
|
6A0D4F1715FC0EB100ABF4B3 /* Grid.h */,
|
||||||
5BDC5CAA27C2873D00E1CCE2 /* Grid.mm */,
|
|
||||||
6A0D4F1815FC0EB100ABF4B3 /* KeyValuePair.h */,
|
6A0D4F1815FC0EB100ABF4B3 /* KeyValuePair.h */,
|
||||||
6A0D4F1915FC0EB100ABF4B3 /* LanguageModel.h */,
|
6A0D4F1915FC0EB100ABF4B3 /* LanguageModel.h */,
|
||||||
6A0D4F1A15FC0EB100ABF4B3 /* Node.h */,
|
6A0D4F1A15FC0EB100ABF4B3 /* Node.h */,
|
||||||
|
@ -1075,7 +1072,6 @@
|
||||||
D47F7DD3278C1263002F9DD7 /* UserOverrideModel.cpp in Sources */,
|
D47F7DD3278C1263002F9DD7 /* UserOverrideModel.cpp in Sources */,
|
||||||
5B62A33627AE795800A19448 /* PreferencesModule.swift in Sources */,
|
5B62A33627AE795800A19448 /* PreferencesModule.swift in Sources */,
|
||||||
5B62A33827AE79CD00A19448 /* NSStringUtils.swift in Sources */,
|
5B62A33827AE79CD00A19448 /* NSStringUtils.swift in Sources */,
|
||||||
5BDC5CAB27C2873D00E1CCE2 /* Grid.mm in Sources */,
|
|
||||||
5B62A33227AE792F00A19448 /* InputSourceHelper.swift in Sources */,
|
5B62A33227AE792F00A19448 /* InputSourceHelper.swift in Sources */,
|
||||||
5B62A34927AE7CD900A19448 /* TooltipController.swift in Sources */,
|
5B62A34927AE7CD900A19448 /* TooltipController.swift in Sources */,
|
||||||
6A0D4F4515FC0EB100ABF4B3 /* Mandarin.cpp in Sources */,
|
6A0D4F4515FC0EB100ABF4B3 /* Mandarin.cpp in Sources */,
|
||||||
|
|
Loading…
Reference in New Issue