Commit 17431be70162bfb3e4157011adb34ef84d4dffa8
1 parent
6e20a4d2
Exists in
master
retirando namespaces)
Showing
8 changed files
with
203 additions
and
181 deletions
Show diff stats
Makefile
include/pyClip.h
@@ -3,27 +3,24 @@ | @@ -3,27 +3,24 @@ | ||
3 | 3 | ||
4 | #include "Python.h" | 4 | #include "Python.h" |
5 | 5 | ||
6 | -namespace Clipboard | 6 | +class PyClip |
7 | { | 7 | { |
8 | - class PyClip | ||
9 | - { | ||
10 | - private: | ||
11 | - PyObject * pName; | ||
12 | - PyObject * pModule; | ||
13 | - PyObject * pDict; | ||
14 | - PyObject * pFunc; | ||
15 | - PyObject * p_On; | ||
16 | - PyObject * p_Off; | ||
17 | - PyObject * pArgs; | ||
18 | - PyObject * pResult; | ||
19 | - public: | ||
20 | - PyClip(); | ||
21 | - ~PyClip(); | ||
22 | - char* clip(); | ||
23 | - void bdragOn(); | ||
24 | - void bdragOff(); | ||
25 | - }; | ||
26 | -} | 8 | + private: |
9 | + PyObject * pName; | ||
10 | + PyObject * pModule; | ||
11 | + PyObject * pDict; | ||
12 | + PyObject * pFunc; | ||
13 | + PyObject * p_On; | ||
14 | + PyObject * p_Off; | ||
15 | + PyObject * pArgs; | ||
16 | + PyObject * pResult; | ||
17 | + public: | ||
18 | + PyClip(); | ||
19 | + ~PyClip(); | ||
20 | + char* clip(); | ||
21 | + void bdragOn(); | ||
22 | + void bdragOff(); | ||
23 | +}; | ||
27 | 24 | ||
28 | #endif | 25 | #endif |
29 | 26 |
include/pyTradutor.h
1 | //***************************************************************** | 1 | //***************************************************************** |
2 | /* | 2 | /* |
3 | - VLibras: Automatic contents translator from Portuguese to LIBRAS | 3 | +VLibras: Automatic contents translator from Portuguese to LIBRAS |
4 | 4 | ||
5 | - Copyright (c) 2015 Gustavo Sobral, Erickson Silva, Leonardo Araújo | ||
6 | - VLibras-Core group at LAViD, Federal University of Paraiba | 5 | +Copyright (c) 2015 Gustavo Sobral, Erickson Silva, Leonardo Araújo |
6 | +VLibras-Core group at LAViD, Federal University of Paraiba | ||
7 | */ | 7 | */ |
8 | //***************************************************************** | 8 | //***************************************************************** |
9 | 9 | ||
10 | /** | 10 | /** |
11 | - * \file pyTradutor.hpp | ||
12 | - * \authors Erickson Silva, Gustavo Sobral | ||
13 | - * \date Janeiro 2015 | ||
14 | - */ | 11 | +* \file pyTradutor.hpp |
12 | +* \authors Erickson Silva, Gustavo Sobral | ||
13 | +* \date Janeiro 2015 | ||
14 | +*/ | ||
15 | #ifndef _PYTRADUTOR_H | 15 | #ifndef _PYTRADUTOR_H |
16 | #define _PYTRADUTOR_H | 16 | #define _PYTRADUTOR_H |
17 | 17 | ||
18 | #include "Python.h" | 18 | #include "Python.h" |
19 | 19 | ||
20 | /** \brief Classe para execução do Tradutor | 20 | /** \brief Classe para execução do Tradutor |
21 | - * | ||
22 | - * Essa classe permite a execução e comunição do Tradutor | ||
23 | - * (Português -> Glosa) do sistema escrito em Python | ||
24 | - * permitindo sua utilização numa aplicação C++. | ||
25 | - */ | ||
26 | - namespace Tradutor | ||
27 | - { | ||
28 | - class PyTradutor | ||
29 | - { | 21 | +* |
22 | +* Essa classe permite a execução e comunição do Tradutor | ||
23 | +* (Português -> Glosa) do sistema escrito em Python | ||
24 | +* permitindo sua utilização numa aplicação C++. | ||
25 | +*/ | ||
26 | +class PyTradutor | ||
27 | +{ | ||
30 | private: | 28 | private: |
31 | PyObject * pName; | 29 | PyObject * pName; |
32 | PyObject * pModule; | 30 | PyObject * pModule; |
@@ -35,28 +33,27 @@ | @@ -35,28 +33,27 @@ | ||
35 | PyObject * pArgs; | 33 | PyObject * pArgs; |
36 | PyObject * pResult; | 34 | PyObject * pResult; |
37 | public: | 35 | public: |
38 | - /** \brief O construtor da classe | ||
39 | - * | ||
40 | - * O construtor inicia o ambiente Python para execução da tradução do tradutor. | ||
41 | - */ | ||
42 | - PyTradutor(); | 36 | +/** \brief O construtor da classe |
37 | +* | ||
38 | +* O construtor inicia o ambiente Python para execução da tradução do tradutor. | ||
39 | +*/ | ||
40 | +PyTradutor(); | ||
43 | 41 | ||
44 | - /** \brief O destrutor da classe | ||
45 | - * | ||
46 | - * O Destrutor finaliza o ambiente Python montado para execução da tradução. | ||
47 | - */ | ||
48 | - ~PyTradutor(); | 42 | +/** \brief O destrutor da classe |
43 | +* | ||
44 | +* O Destrutor finaliza o ambiente Python montado para execução da tradução. | ||
45 | +*/ | ||
46 | +~PyTradutor(); | ||
49 | 47 | ||
50 | - /** \brief Converte Português para Glosa | ||
51 | - * | ||
52 | - * Converte a string de entrada em Português para Glosa | ||
53 | - * através da execução do Tradutor e retorna esse resultado | ||
54 | - * | ||
55 | - * \param input Ponteiro para char com o texto de entrada em Portugês | ||
56 | - * \return Ponteiro para char com a tradução da entrada em Glosa | ||
57 | - */ | ||
58 | - char * convertStringToGlosa(const char * input); | ||
59 | - }; | ||
60 | -} | 48 | +/** \brief Converte Português para Glosa |
49 | +* | ||
50 | +* Converte a string de entrada em Português para Glosa | ||
51 | +* através da execução do Tradutor e retorna esse resultado | ||
52 | +* | ||
53 | +* \param input Ponteiro para char com o texto de entrada em Portugês | ||
54 | +* \return Ponteiro para char com a tradução da entrada em Glosa | ||
55 | +*/ | ||
56 | +char * convertStringToGlosa(const char * input); | ||
57 | +}; | ||
61 | 58 | ||
62 | #endif | 59 | #endif |
63 | \ No newline at end of file | 60 | \ No newline at end of file |
plugin/corePlugin.h
@@ -7,8 +7,6 @@ | @@ -7,8 +7,6 @@ | ||
7 | #include <string.h> | 7 | #include <string.h> |
8 | 8 | ||
9 | using namespace std; | 9 | using namespace std; |
10 | -using namespace Tradutor; | ||
11 | -using namespace Clipboard; | ||
12 | 10 | ||
13 | extern "C" | 11 | extern "C" |
14 | { | 12 | { |
@@ -19,12 +17,12 @@ extern "C" | @@ -19,12 +17,12 @@ extern "C" | ||
19 | PyClip clipboard; | 17 | PyClip clipboard; |
20 | 18 | ||
21 | //Inicializa Objetos | 19 | //Inicializa Objetos |
22 | - EXPORT_API int coreInitize(void); | 20 | + EXPORT_API int coreInitize(void); |
23 | 21 | ||
24 | - //Faz tradução de Português para glosa | ||
25 | - EXPORT_API char* coreExecute(void); | 22 | + //Faz tradução de Português para glosa |
23 | + EXPORT_API char* coreExecute(void); | ||
26 | 24 | ||
27 | - //Libera Objetos utilizados | 25 | + //Libera Objetos utilizados |
28 | EXPORT_API int coreFinalize(void); | 26 | EXPORT_API int coreFinalize(void); |
29 | } | 27 | } |
30 | 28 |
src/pyClip.cpp
1 | #include "pyClip.h" | 1 | #include "pyClip.h" |
2 | 2 | ||
3 | -namespace Clipboard | 3 | +PyClip::PyClip() |
4 | { | 4 | { |
5 | - PyClip::PyClip() | ||
6 | - { | ||
7 | - // Initialize the Python interpreter | ||
8 | - Py_Initialize(); | ||
9 | - | ||
10 | - // Type conversion between C++ string to Py string | ||
11 | - pName = PyString_FromString("Clipboard"); | ||
12 | - assert(pName!=NULL); | ||
13 | - // Loads the script name saved in 'pName' | ||
14 | - pModule = PyImport_Import(pName); | ||
15 | - //PyErr_Print(); | ||
16 | - assert(pModule!=NULL); | ||
17 | - // Returns the dictionary object that implements the namespace pModule | ||
18 | - pDict = PyModule_GetDict(pModule); | ||
19 | - //PyErr_Print(); | ||
20 | - assert(pDict!=NULL); | ||
21 | - // Return the object from dictionary pDict which has a key 'iniciar' | ||
22 | - pFunc = PyDict_GetItemString(pDict, "clip"); | ||
23 | - p_On = PyDict_GetItemString(pDict, "bdragOn"); | ||
24 | - p_Off = PyDict_GetItemString(pDict, "bdragOff"); | ||
25 | - //PyErr_Print(); | ||
26 | - assert(pFunc!=NULL); | ||
27 | - } | ||
28 | - | ||
29 | - PyClip::~PyClip() | ||
30 | - { | ||
31 | - Py_Finalize(); | ||
32 | - } | ||
33 | - | ||
34 | - char * PyClip::clip() | ||
35 | - { | ||
36 | - // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
37 | - pResult = PyObject_CallObject(pFunc,pArgs); | ||
38 | - assert(pResult!=NULL); | ||
39 | - | ||
40 | - return PyString_AsString(pResult); | ||
41 | - } | ||
42 | - | ||
43 | - void PyClip::bdragOn() | ||
44 | - { | ||
45 | - // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
46 | - PyObject_CallObject(p_On,pArgs); | ||
47 | - | ||
48 | - } | ||
49 | - | ||
50 | - void PyClip::bdragOff() | ||
51 | - { | ||
52 | - // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
53 | - PyObject_CallObject(p_Off,pArgs); | ||
54 | - } | ||
55 | - | ||
56 | -} | ||
57 | \ No newline at end of file | 5 | \ No newline at end of file |
6 | + // Initialize the Python interpreter | ||
7 | + Py_Initialize(); | ||
8 | + | ||
9 | + // Type conversion between C++ string to Py string | ||
10 | + pName = PyString_FromString("Clipboard"); | ||
11 | + assert(pName!=NULL); | ||
12 | + | ||
13 | + // Loads the script name saved in 'pName' | ||
14 | + pModule = PyImport_Import(pName); | ||
15 | + | ||
16 | + //PyErr_Print(); | ||
17 | + assert(pModule!=NULL); | ||
18 | + | ||
19 | + // Returns the dictionary object that implements the namespace pModule | ||
20 | + pDict = PyModule_GetDict(pModule); | ||
21 | + | ||
22 | + //PyErr_Print(); | ||
23 | + assert(pDict!=NULL); | ||
24 | + | ||
25 | + // Return the object from dictionary pDict which has a key 'iniciar' | ||
26 | + pFunc = PyDict_GetItemString(pDict, "clip"); | ||
27 | + p_On = PyDict_GetItemString(pDict, "bdragOn"); | ||
28 | + p_Off = PyDict_GetItemString(pDict, "bdragOff"); | ||
29 | + | ||
30 | + //PyErr_Print(); | ||
31 | + assert(pFunc!=NULL); | ||
32 | +} | ||
33 | + | ||
34 | +PyClip::~PyClip() | ||
35 | +{ | ||
36 | + Py_Finalize(); | ||
37 | +} | ||
38 | + | ||
39 | +char * PyClip::clip() | ||
40 | +{ | ||
41 | + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
42 | + pResult = PyObject_CallObject(pFunc,pArgs); | ||
43 | + assert(pResult!=NULL); | ||
44 | + | ||
45 | + return PyString_AsString(pResult); | ||
46 | +} | ||
47 | + | ||
48 | +void PyClip::bdragOn() | ||
49 | +{ | ||
50 | + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
51 | + PyObject_CallObject(p_On,pArgs); | ||
52 | + | ||
53 | +} | ||
54 | + | ||
55 | +void PyClip::bdragOff() | ||
56 | +{ | ||
57 | + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
58 | + PyObject_CallObject(p_Off,pArgs); | ||
59 | +} | ||
60 | + |
src/pyTradutor.cpp
1 | //***************************************************************** | 1 | //***************************************************************** |
2 | /* | 2 | /* |
3 | - VLibras: Automatic contents translator from Portuguese to LIBRAS | 3 | +VLibras: Automatic contents translator from Portuguese to LIBRAS |
4 | 4 | ||
5 | - Copyright (c) 2015 Gustavo Sobral, Erickson Silva, Leonardo Araújo | ||
6 | - VLibras-Core group at LAViD, Federal University of Paraiba | 5 | +Copyright (c) 2015 Gustavo Sobral, Erickson Silva, Leonardo Araújo |
6 | +VLibras-Core group at LAViD, Federal University of Paraiba | ||
7 | */ | 7 | */ |
8 | //***************************************************************** | 8 | //***************************************************************** |
9 | 9 | ||
10 | /** | 10 | /** |
11 | - * \file pyTradutor.cpp | ||
12 | - * \authors Erickson Silva, Gustavo Sobral | ||
13 | - * \date Janeiro 2015 | ||
14 | - */ | 11 | +* \file pyTradutor.cpp |
12 | +* \authors Erickson Silva, Gustavo Sobral | ||
13 | +* \date Janeiro 2015 | ||
14 | +*/ | ||
15 | 15 | ||
16 | #include "pyTradutor.h" | 16 | #include "pyTradutor.h" |
17 | 17 | ||
18 | -namespace Tradutor | 18 | +PyTradutor::PyTradutor() |
19 | { | 19 | { |
20 | - PyTradutor::PyTradutor() | ||
21 | - { | ||
22 | - // Initialize the Python interpreter | ||
23 | - Py_Initialize(); | ||
24 | - | ||
25 | - // Type conversion between C++ string to Py string | ||
26 | - pName = PyString_FromString("PortGlosa"); | ||
27 | - assert(pName!=NULL); | ||
28 | - // Loads the script name saved in 'pName' | ||
29 | - pModule = PyImport_Import(pName); | ||
30 | - //PyErr_Print(); | ||
31 | - assert(pModule!=NULL); | ||
32 | - // Returns the dictionary object that implements the namespace pModule | ||
33 | - pDict = PyModule_GetDict(pModule); | ||
34 | - //PyErr_Print(); | ||
35 | - assert(pDict!=NULL); | ||
36 | - // Return the object from dictionary pDict which has a key 'iniciar' | ||
37 | - pFunc = PyDict_GetItemString(pDict, "traduzir"); | ||
38 | - //PyErr_Print(); | ||
39 | - assert(pFunc!=NULL); | ||
40 | - } | ||
41 | - | ||
42 | - PyTradutor::~PyTradutor() | ||
43 | - { | ||
44 | - // Free the allocated memory and finalize the Python interpreter | ||
45 | - Py_Finalize(); | ||
46 | - } | ||
47 | - | ||
48 | - char * PyTradutor::convertStringToGlosa(const char * input) | ||
49 | - { | ||
50 | - // Generates a new Tuple object with size '1' and value 'input' (converted) | ||
51 | - pArgs = PyTuple_Pack(1, PyString_FromString(input)); | ||
52 | - PyErr_Print(); | ||
53 | - assert(pArgs!=NULL); | ||
54 | - // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
55 | - pResult = PyObject_CallObject(pFunc, pArgs); | ||
56 | - PyErr_Print(); | ||
57 | - assert(pResult!=NULL); | ||
58 | - // Converts the string Python type to C++ | ||
59 | - return PyString_AsString(pResult); | ||
60 | - //return "Ambulancia"; | ||
61 | - } | 20 | + // Initialize the Python interpreter |
21 | + Py_Initialize(); | ||
22 | + | ||
23 | + // Type conversion between C++ string to Py string | ||
24 | + pName = PyString_FromString("PortGlosa"); | ||
25 | + assert(pName!=NULL); | ||
26 | + | ||
27 | + // Loads the script name saved in 'pName' | ||
28 | + pModule = PyImport_Import(pName); | ||
29 | + | ||
30 | + //PyErr_Print(); | ||
31 | + assert(pModule!=NULL); | ||
32 | + | ||
33 | + // Returns the dictionary object that implements the namespace pModule | ||
34 | + pDict = PyModule_GetDict(pModule); | ||
35 | + | ||
36 | + //PyErr_Print(); | ||
37 | + assert(pDict!=NULL); | ||
38 | + | ||
39 | + // Return the object from dictionary pDict which has a key 'iniciar' | ||
40 | + pFunc = PyDict_GetItemString(pDict, "traduzir"); | ||
41 | + | ||
42 | + //PyErr_Print(); | ||
43 | + assert(pFunc!=NULL); | ||
62 | } | 44 | } |
45 | + | ||
46 | +PyTradutor::~PyTradutor() | ||
47 | +{ | ||
48 | + // Free the allocated memory and finalize the Python interpreter | ||
49 | + Py_Finalize(); | ||
50 | +} | ||
51 | + | ||
52 | +char * PyTradutor::convertStringToGlosa(const char * input) | ||
53 | +{ | ||
54 | + // Generates a new Tuple object with size '1' and value 'input' (converted) | ||
55 | + pArgs = PyTuple_Pack(1, PyString_FromString(input)); | ||
56 | + PyErr_Print(); | ||
57 | + assert(pArgs!=NULL); | ||
58 | + | ||
59 | + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | ||
60 | + pResult = PyObject_CallObject(pFunc, pArgs); | ||
61 | + PyErr_Print(); | ||
62 | + assert(pResult!=NULL); | ||
63 | + | ||
64 | + // Converts the string Python type to C++ | ||
65 | + return PyString_AsString(pResult); | ||
66 | + | ||
67 | +} | ||
68 | + |
src/testLibras.cpp
@@ -3,27 +3,25 @@ | @@ -3,27 +3,25 @@ | ||
3 | #include "pyTradutor.h" | 3 | #include "pyTradutor.h" |
4 | 4 | ||
5 | using namespace std; | 5 | using namespace std; |
6 | -using namespace Tradutor; | ||
7 | -using namespace Clipboard; | ||
8 | 6 | ||
9 | int main(int argc, char *argv[]) | 7 | int main(int argc, char *argv[]) |
10 | { | 8 | { |
11 | - //Usado para traduzir português para glosa | ||
12 | - PyTradutor *tradutor = new PyTradutor(); | 9 | + //Usado para traduzir português para glosa |
10 | + PyTradutor *tradutor = new PyTradutor(); | ||
13 | 11 | ||
14 | - //Usado para copiar texto da área de transferência | ||
15 | - PyClip *clipboard = new PyClip(); | 12 | + //Usado para copiar texto da área de transferência |
13 | + PyClip *clipboard = new PyClip(); | ||
16 | 14 | ||
17 | - //Copia área de transferência para input | ||
18 | - char *input = clipboard->clip(); | 15 | + //Copia área de transferência para input |
16 | + char *input = clipboard->clip(); | ||
19 | 17 | ||
20 | - //Traduz de português para glosa | ||
21 | - char* glosa = tradutor->convertStringToGlosa(input); | 18 | + //Traduz de português para glosa |
19 | + char* glosa = tradutor->convertStringToGlosa(input); | ||
22 | 20 | ||
23 | - cout << glosa <<endl; | 21 | + cout << glosa <<endl; |
24 | 22 | ||
25 | - delete clipboard; | ||
26 | - delete tradutor; | 23 | + delete clipboard; |
24 | + delete tradutor; | ||
27 | 25 | ||
28 | - return 0; | 26 | + return 0; |
29 | } | 27 | } |
30 | \ No newline at end of file | 28 | \ No newline at end of file |
@@ -0,0 +1,24 @@ | @@ -0,0 +1,24 @@ | ||
1 | +2015-04-02 15:58:44,479 - ERROR: | ||
2 | + | ||
3 | +Traceback (most recent call last): | ||
4 | + File "C:\vlibras-libs\vlibras-translate\src\TraduzSentencas.py", line 26, in iniciar_traducao | ||
5 | + analise_sintatica = alexp.run(sentenca) | ||
6 | + File "C:\vlibras-libs\vlibras-translate\src\alexp.py", line 138, in run | ||
7 | + tree=analisaSentenca(tokens) | ||
8 | + File "C:\vlibras-libs\vlibras-translate\src\alexp.py", line 111, in analisaSentenca | ||
9 | + trees=parser.parse_one(codificada) | ||
10 | + File "C:\Python27\Lib\site-packages\nltk\parse\api.py", line 66, in parse_one | ||
11 | + return next(self.parse(sent, *args, **kwargs), None) | ||
12 | + File "C:\Python27\Lib\site-packages\nltk\parse\chart.py", line 1350, in parse | ||
13 | + chart = self.chart_parse(tokens) | ||
14 | + File "C:\Python27\Lib\site-packages\nltk\parse\chart.py", line 1309, in chart_parse | ||
15 | + self._grammar.check_coverage(tokens) | ||
16 | + File "C:\Python27\Lib\site-packages\nltk\grammar.py", line 631, in check_coverage | ||
17 | + "input words: %r." % missing) | ||
18 | +ValueError: Grammar does not cover some of the input words: u"'TEXTO', 'CERTO'". | ||
19 | + | ||
20 | + | ||
21 | + | ||
22 | +############################################## | ||
23 | + | ||
24 | + |