renamed: JSONToSpaceParser -> SpaceParser

This commit is contained in:
Tomasz Sowa 2021-03-17 18:33:41 +01:00
parent 961a02ab39
commit ba82ac7cbe
3 changed files with 67 additions and 73 deletions

View File

@ -19,24 +19,18 @@
./mainspaceparser/mainspaceparser.o: membuffer/membuffer.h textstream/types.h ./mainspaceparser/mainspaceparser.o: membuffer/membuffer.h textstream/types.h
./mainspaceparser/mainspaceparser.o: utf8/utf8_templates.h ./mainspaceparser/mainspaceparser.o: utf8/utf8_templates.h
./mainspaceparser/mainspaceparser.o: utf8/utf8_private.h ./mainspaceparser/mainspaceparser.o: utf8/utf8_private.h
./space/jsontospaceparser.o: ./space/jsontospaceparser.h ./space/space.h ./space/spaceparser.o: ./space/spaceparser.h ./space/space.h
./space/jsontospaceparser.o: textstream/types.h convert/inttostr.h ./space/spaceparser.o: textstream/types.h convert/inttostr.h utf8/utf8.h
./space/jsontospaceparser.o: utf8/utf8.h textstream/textstream.h ./space/spaceparser.o: textstream/textstream.h space/space.h date/date.h
./space/jsontospaceparser.o: space/space.h date/date.h membuffer/membuffer.h ./space/spaceparser.o: membuffer/membuffer.h textstream/types.h
./space/jsontospaceparser.o: textstream/types.h utf8/utf8_templates.h ./space/spaceparser.o: utf8/utf8_templates.h utf8/utf8_private.h
./space/jsontospaceparser.o: utf8/utf8_private.h convert/strtoint.h ./space/spaceparser.o: convert/strtoint.h ./convert/text.h ./convert/misc.h
./space/jsontospaceparser.o: ./convert/text.h ./convert/misc.h
./space/space.o: ./space/space.h textstream/types.h convert/inttostr.h ./space/space.o: ./space/space.h textstream/types.h convert/inttostr.h
./space/space.o: utf8/utf8.h textstream/textstream.h space/space.h ./space/space.o: utf8/utf8.h textstream/textstream.h space/space.h
./space/space.o: date/date.h membuffer/membuffer.h textstream/types.h ./space/space.o: date/date.h membuffer/membuffer.h textstream/types.h
./space/space.o: utf8/utf8_templates.h utf8/utf8_private.h convert/convert.h ./space/space.o: utf8/utf8_templates.h utf8/utf8_private.h convert/convert.h
./space/space.o: ./convert/inttostr.h convert/patternreplacer.h ./space/space.o: ./convert/inttostr.h convert/patternreplacer.h
./space/space.o: convert/strtoint.h ./convert/text.h ./convert/misc.h ./space/space.o: convert/strtoint.h ./convert/text.h ./convert/misc.h
./space/spaceparser.o: ./space/spaceparser.h ./space/space.h
./space/spaceparser.o: textstream/types.h convert/inttostr.h utf8/utf8.h
./space/spaceparser.o: textstream/textstream.h space/space.h date/date.h
./space/spaceparser.o: membuffer/membuffer.h textstream/types.h
./space/spaceparser.o: utf8/utf8_templates.h utf8/utf8_private.h
./space/spacetojson.o: ./space/spacetojson.h ./space/space.h ./space/spacetojson.o: ./space/spacetojson.h ./space/space.h
./space/spacetojson.o: textstream/types.h convert/inttostr.h ./space/spacetojson.o: textstream/types.h convert/inttostr.h
./utf8/utf8.o: ./utf8/utf8.h textstream/textstream.h space/space.h ./utf8/utf8.o: ./utf8/utf8.h textstream/textstream.h space/space.h

View File

@ -37,7 +37,7 @@
#include <cstdlib> #include <cstdlib>
#include <wchar.h> #include <wchar.h>
#include "jsontospaceparser.h" #include "spaceparser.h"
#include "utf8/utf8.h" #include "utf8/utf8.h"
#include "convert/strtoint.h" #include "convert/strtoint.h"
@ -48,26 +48,26 @@ namespace PT
JSONToSpaceParser::JSONToSpaceParser() SpaceParser::SpaceParser()
{ {
root_space = 0; root_space = 0;
SetDefault(); SetDefault();
} }
void JSONToSpaceParser::SetSpace(Space * pspace) void SpaceParser::SetSpace(Space * pspace)
{ {
root_space = pspace; root_space = pspace;
} }
void JSONToSpaceParser::SetSpace(Space & pspace) void SpaceParser::SetSpace(Space & pspace)
{ {
root_space = &pspace; root_space = &pspace;
} }
void JSONToSpaceParser::SetDefault() void SpaceParser::SetDefault()
{ {
// you can change this separators to what you want // you can change this separators to what you want
// you shoud not use only white characters here (as expected by IsWhite() method) // you shoud not use only white characters here (as expected by IsWhite() method)
@ -85,32 +85,32 @@ void JSONToSpaceParser::SetDefault()
void JSONToSpaceParser::SkipEmpty(bool skip) void SpaceParser::SkipEmpty(bool skip)
{ {
skip_empty = skip; skip_empty = skip;
} }
void JSONToSpaceParser::UseEscapeChar(bool escape) void SpaceParser::UseEscapeChar(bool escape)
{ {
use_escape_char = escape; use_escape_char = escape;
} }
void JSONToSpaceParser::UTF8(bool utf) void SpaceParser::UTF8(bool utf)
{ {
input_as_utf8 = utf; input_as_utf8 = utf;
} }
int JSONToSpaceParser::get_last_parsed_line() int SpaceParser::get_last_parsed_line()
{ {
return line; return line;
} }
JSONToSpaceParser::Status JSONToSpaceParser::ParseJSONFile(const char * file_name) SpaceParser::Status SpaceParser::ParseJSONFile(const char * file_name)
{ {
reading_from_file = true; reading_from_file = true;
parsing_space = false; parsing_space = false;
@ -133,7 +133,7 @@ return status;
JSONToSpaceParser::Status JSONToSpaceParser::ParseJSONFile(const std::string & file_name) SpaceParser::Status SpaceParser::ParseJSONFile(const std::string & file_name)
{ {
return ParseJSONFile(file_name.c_str()); return ParseJSONFile(file_name.c_str());
} }
@ -141,7 +141,7 @@ JSONToSpaceParser::Status JSONToSpaceParser::ParseJSONFile(const std::string & f
JSONToSpaceParser::Status JSONToSpaceParser::ParseJSONFile(const wchar_t * file_name) SpaceParser::Status SpaceParser::ParseJSONFile(const wchar_t * file_name)
{ {
std::string file_name_utf8; std::string file_name_utf8;
@ -151,7 +151,7 @@ JSONToSpaceParser::Status JSONToSpaceParser::ParseJSONFile(const wchar_t * file_
JSONToSpaceParser::Status JSONToSpaceParser::ParseJSONFile(const std::wstring & file_name) SpaceParser::Status SpaceParser::ParseJSONFile(const std::wstring & file_name)
{ {
return ParseJSONFile(file_name.c_str()); return ParseJSONFile(file_name.c_str());
} }
@ -160,7 +160,7 @@ JSONToSpaceParser::Status JSONToSpaceParser::ParseJSONFile(const std::wstring &
JSONToSpaceParser::Status JSONToSpaceParser::ParseSpaceFile(const char * file_name) SpaceParser::Status SpaceParser::ParseSpaceFile(const char * file_name)
{ {
reading_from_file = true; reading_from_file = true;
parsing_space = true; parsing_space = true;
@ -183,7 +183,7 @@ return status;
JSONToSpaceParser::Status JSONToSpaceParser::ParseSpaceFile(const std::string & file_name) SpaceParser::Status SpaceParser::ParseSpaceFile(const std::string & file_name)
{ {
return ParseSpaceFile(file_name.c_str()); return ParseSpaceFile(file_name.c_str());
} }
@ -191,7 +191,7 @@ JSONToSpaceParser::Status JSONToSpaceParser::ParseSpaceFile(const std::string &
JSONToSpaceParser::Status JSONToSpaceParser::ParseSpaceFile(const wchar_t * file_name) SpaceParser::Status SpaceParser::ParseSpaceFile(const wchar_t * file_name)
{ {
std::string file_name_utf8; std::string file_name_utf8;
@ -201,14 +201,14 @@ JSONToSpaceParser::Status JSONToSpaceParser::ParseSpaceFile(const wchar_t * file
JSONToSpaceParser::Status JSONToSpaceParser::ParseSpaceFile(const std::wstring & file_name) SpaceParser::Status SpaceParser::ParseSpaceFile(const std::wstring & file_name)
{ {
return ParseSpaceFile(file_name.c_str()); return ParseSpaceFile(file_name.c_str());
} }
JSONToSpaceParser::Status JSONToSpaceParser::ParseJSON(const char * str) SpaceParser::Status SpaceParser::ParseJSON(const char * str)
{ {
reading_from_file = false; reading_from_file = false;
reading_from_wchar_string = false; reading_from_wchar_string = false;
@ -222,13 +222,13 @@ return status;
} }
JSONToSpaceParser::Status JSONToSpaceParser::ParseJSON(const std::string & str) SpaceParser::Status SpaceParser::ParseJSON(const std::string & str)
{ {
return ParseJSON(str.c_str()); return ParseJSON(str.c_str());
} }
JSONToSpaceParser::Status JSONToSpaceParser::ParseJSON(const wchar_t * str) SpaceParser::Status SpaceParser::ParseJSON(const wchar_t * str)
{ {
reading_from_file = false; reading_from_file = false;
reading_from_wchar_string = true; reading_from_wchar_string = true;
@ -242,7 +242,7 @@ return status;
} }
JSONToSpaceParser::Status JSONToSpaceParser::ParseJSON(const std::wstring & str) SpaceParser::Status SpaceParser::ParseJSON(const std::wstring & str)
{ {
return ParseJSON(str.c_str()); return ParseJSON(str.c_str());
} }
@ -251,7 +251,7 @@ JSONToSpaceParser::Status JSONToSpaceParser::ParseJSON(const std::wstring & str)
JSONToSpaceParser::Status JSONToSpaceParser::ParseSpace(const char * str) SpaceParser::Status SpaceParser::ParseSpace(const char * str)
{ {
reading_from_file = false; reading_from_file = false;
reading_from_wchar_string = false; reading_from_wchar_string = false;
@ -265,13 +265,13 @@ return status;
} }
JSONToSpaceParser::Status JSONToSpaceParser::ParseSpace(const std::string & str) SpaceParser::Status SpaceParser::ParseSpace(const std::string & str)
{ {
return ParseSpace(str.c_str()); return ParseSpace(str.c_str());
} }
JSONToSpaceParser::Status JSONToSpaceParser::ParseSpace(const wchar_t * str) SpaceParser::Status SpaceParser::ParseSpace(const wchar_t * str)
{ {
reading_from_file = false; reading_from_file = false;
reading_from_wchar_string = true; reading_from_wchar_string = true;
@ -285,7 +285,7 @@ return status;
} }
JSONToSpaceParser::Status JSONToSpaceParser::ParseSpace(const std::wstring & str) SpaceParser::Status SpaceParser::ParseSpace(const std::wstring & str)
{ {
return ParseSpace(str.c_str()); return ParseSpace(str.c_str());
} }
@ -294,7 +294,7 @@ JSONToSpaceParser::Status JSONToSpaceParser::ParseSpace(const std::wstring & str
void JSONToSpaceParser::ParseRootSpace() void SpaceParser::ParseRootSpace()
{ {
line = 1; line = 1;
status = ok; status = ok;
@ -327,7 +327,7 @@ void JSONToSpaceParser::ParseRootSpace()
} }
void JSONToSpaceParser::Parse(Space * space, bool is_object_value, bool is_table_value) void SpaceParser::Parse(Space * space, bool is_object_value, bool is_table_value)
{ {
SkipWhite(); SkipWhite();
@ -391,7 +391,7 @@ void JSONToSpaceParser::Parse(Space * space, bool is_object_value, bool is_table
void JSONToSpaceParser::ParseSpace(Space * space) void SpaceParser::ParseSpace(Space * space)
{ {
/* /*
* in Space format in global namespace the space start character is not required * in Space format in global namespace the space start character is not required
@ -423,7 +423,7 @@ void JSONToSpaceParser::ParseSpace(Space * space)
void JSONToSpaceParser::ParseTextValue(Space * space) void SpaceParser::ParseTextValue(Space * space)
{ {
space->set_empty_wstring(); space->set_empty_wstring();
std::wstring * str = space->get_wstring(); std::wstring * str = space->get_wstring();
@ -435,7 +435,7 @@ void JSONToSpaceParser::ParseTextValue(Space * space)
} }
void JSONToSpaceParser::ParseIntegerValue(Space * space) void SpaceParser::ParseIntegerValue(Space * space)
{ {
const wchar_t * after_str = nullptr; const wchar_t * after_str = nullptr;
bool was_overflow = false; bool was_overflow = false;
@ -458,7 +458,7 @@ void JSONToSpaceParser::ParseIntegerValue(Space * space)
} }
void JSONToSpaceParser::ParseFloatingPointValue(Space * space) void SpaceParser::ParseFloatingPointValue(Space * space)
{ {
wchar_t * after_str = nullptr; wchar_t * after_str = nullptr;
double val = wcstod(token.c_str(), &after_str); double val = wcstod(token.c_str(), &after_str);
@ -481,7 +481,7 @@ void JSONToSpaceParser::ParseFloatingPointValue(Space * space)
void JSONToSpaceParser::ParseTable(Space * space) void SpaceParser::ParseTable(Space * space)
{ {
space->set_empty_table(); space->set_empty_table();
@ -503,7 +503,7 @@ void JSONToSpaceParser::ParseTable(Space * space)
void JSONToSpaceParser::ParseKeyValuePairs(Space * space) void SpaceParser::ParseKeyValuePairs(Space * space)
{ {
bool is_first = true; bool is_first = true;
SkipWhite(); SkipWhite();
@ -571,7 +571,7 @@ void JSONToSpaceParser::ParseKeyValuePairs(Space * space)
void JSONToSpaceParser::ParseValuesList(Space * space) void SpaceParser::ParseValuesList(Space * space)
{ {
bool is_first = true; bool is_first = true;
SkipWhite(); SkipWhite();
@ -616,7 +616,7 @@ void JSONToSpaceParser::ParseValuesList(Space * space)
bool JSONToSpaceParser::is_integer_token() bool SpaceParser::is_integer_token()
{ {
if( token.empty() ) if( token.empty() )
return false; return false;
@ -643,7 +643,7 @@ bool JSONToSpaceParser::is_integer_token()
} }
bool JSONToSpaceParser::is_floating_point_token() bool SpaceParser::is_floating_point_token()
{ {
bool was_dot = false; bool was_dot = false;
bool was_exponential = false; bool was_exponential = false;
@ -707,7 +707,7 @@ bool JSONToSpaceParser::is_floating_point_token()
bool JSONToSpaceParser::IsWhite(int c) bool SpaceParser::IsWhite(int c)
{ {
// 13 (\r) is at the end of a line in a dos file \r\n // 13 (\r) is at the end of a line in a dos file \r\n
// 160 is an unbreakable space // 160 is an unbreakable space
@ -718,7 +718,7 @@ return false;
} }
bool JSONToSpaceParser::is_alfa_numeric_char(int c) bool SpaceParser::is_alfa_numeric_char(int c)
{ {
return (c >= 'a' && c <= 'z') || return (c >= 'a' && c <= 'z') ||
(c >= 'A' && c <= 'Z') || (c >= 'A' && c <= 'Z') ||
@ -727,7 +727,7 @@ bool JSONToSpaceParser::is_alfa_numeric_char(int c)
} }
void JSONToSpaceParser::SkipLine() void SpaceParser::SkipLine()
{ {
while( lastc != -1 && (char_was_escaped || lastc != '\n') ) while( lastc != -1 && (char_was_escaped || lastc != '\n') )
ReadChar(); ReadChar();
@ -735,7 +735,7 @@ void JSONToSpaceParser::SkipLine()
void JSONToSpaceParser::SkipWhite() void SpaceParser::SkipWhite()
{ {
if( parsing_space ) if( parsing_space )
{ {
@ -757,7 +757,7 @@ void JSONToSpaceParser::SkipWhite()
} }
void JSONToSpaceParser::TrimLastWhite(std::wstring & s) void SpaceParser::TrimLastWhite(std::wstring & s)
{ {
std::wstring::size_type i; std::wstring::size_type i;
@ -773,7 +773,7 @@ void JSONToSpaceParser::TrimLastWhite(std::wstring & s)
/* /*
void JSONToSpaceParser::Trim(std::wstring & s) void SpaceParser::Trim(std::wstring & s)
{ {
std::wstring::size_type i; std::wstring::size_type i;
@ -804,7 +804,7 @@ std::wstring::size_type i;
*/ */
void JSONToSpaceParser::ReadTokenUntilDelimiter(std::wstring & token, int delimiter1, int delimiter2) void SpaceParser::ReadTokenUntilDelimiter(std::wstring & token, int delimiter1, int delimiter2)
{ {
token.clear(); token.clear();
@ -818,7 +818,7 @@ void JSONToSpaceParser::ReadTokenUntilDelimiter(std::wstring & token, int delimi
} }
void JSONToSpaceParser::ReadAlfaNumericToken(std::wstring & token) void SpaceParser::ReadAlfaNumericToken(std::wstring & token)
{ {
token.clear(); token.clear();
@ -830,7 +830,7 @@ void JSONToSpaceParser::ReadAlfaNumericToken(std::wstring & token)
} }
void JSONToSpaceParser::ReadStringValue(std::wstring & token, bool is_object_value, bool is_table_value) void SpaceParser::ReadStringValue(std::wstring & token, bool is_object_value, bool is_table_value)
{ {
if( parsing_space ) if( parsing_space )
{ {
@ -856,7 +856,7 @@ void JSONToSpaceParser::ReadStringValue(std::wstring & token, bool is_object_val
// rename to something like ReadSpaceFieldToken??? // rename to something like ReadSpaceFieldToken???
void JSONToSpaceParser::ReadSpaceFieldToken(std::wstring & token) void SpaceParser::ReadSpaceFieldToken(std::wstring & token)
{ {
token.clear(); token.clear();
@ -871,7 +871,7 @@ void JSONToSpaceParser::ReadSpaceFieldToken(std::wstring & token)
// IMPROVEME in JSON we should not allow non-escaped a new line character // IMPROVEME in JSON we should not allow non-escaped a new line character
void JSONToSpaceParser::ReadTokenQuoted(std::wstring & token) void SpaceParser::ReadTokenQuoted(std::wstring & token)
{ {
token.clear(); token.clear();
ReadChar(); // skipping the first quotation mark ReadChar(); // skipping the first quotation mark
@ -893,7 +893,7 @@ void JSONToSpaceParser::ReadTokenQuoted(std::wstring & token)
} }
void JSONToSpaceParser::ReadMultilineTokenQuoted(std::wstring & token) void SpaceParser::ReadMultilineTokenQuoted(std::wstring & token)
{ {
token.clear(); token.clear();
ReadChar(); // skipping the first quotation mark ReadChar(); // skipping the first quotation mark
@ -916,7 +916,7 @@ void JSONToSpaceParser::ReadMultilineTokenQuoted(std::wstring & token)
void JSONToSpaceParser::ReadKey() void SpaceParser::ReadKey()
{ {
SkipWhite(); SkipWhite();
@ -947,7 +947,7 @@ void JSONToSpaceParser::ReadKey()
int JSONToSpaceParser::ReadUTF8Char() int SpaceParser::ReadUTF8Char()
{ {
int c; int c;
bool correct; bool correct;
@ -973,7 +973,7 @@ return lastc;
int JSONToSpaceParser::ReadASCIIChar() int SpaceParser::ReadASCIIChar()
{ {
lastc = file.get(); lastc = file.get();
@ -986,7 +986,7 @@ return lastc;
int JSONToSpaceParser::ReadCharFromWcharString() int SpaceParser::ReadCharFromWcharString()
{ {
if( *pchar_unicode == 0 ) if( *pchar_unicode == 0 )
lastc = -1; lastc = -1;
@ -1000,7 +1000,7 @@ return lastc;
} }
int JSONToSpaceParser::ReadCharFromUTF8String() int SpaceParser::ReadCharFromUTF8String()
{ {
int c; int c;
bool correct; bool correct;
@ -1025,7 +1025,7 @@ return lastc;
} }
int JSONToSpaceParser::ReadCharFromAsciiString() int SpaceParser::ReadCharFromAsciiString()
{ {
if( *pchar_ascii == 0 ) if( *pchar_ascii == 0 )
lastc = -1; lastc = -1;
@ -1039,7 +1039,7 @@ return lastc;
} }
int JSONToSpaceParser::ReadCharNoEscape() int SpaceParser::ReadCharNoEscape()
{ {
if( reading_from_file ) if( reading_from_file )
{ {
@ -1064,7 +1064,7 @@ int JSONToSpaceParser::ReadCharNoEscape()
} }
} }
bool JSONToSpaceParser::IsHexDigit(wchar_t c) bool SpaceParser::IsHexDigit(wchar_t c)
{ {
return ((c>='0' && c<='9') || return ((c>='0' && c<='9') ||
(c>='a' && c<='f') || (c>='a' && c<='f') ||
@ -1072,7 +1072,7 @@ bool JSONToSpaceParser::IsHexDigit(wchar_t c)
} }
int JSONToSpaceParser::HexToInt(wchar_t c) int SpaceParser::HexToInt(wchar_t c)
{ {
if( c>='0' && c<='9' ) if( c>='0' && c<='9' )
return c - '0'; return c - '0';
@ -1087,7 +1087,7 @@ return 0;
} }
void JSONToSpaceParser::ReadUnicodeCodePoint() void SpaceParser::ReadUnicodeCodePoint()
{ {
wchar_t c; wchar_t c;
int value = 0; int value = 0;
@ -1109,7 +1109,7 @@ int value = 0;
} }
int JSONToSpaceParser::ReadChar() int SpaceParser::ReadChar()
{ {
char_was_escaped = false; char_was_escaped = false;
ReadCharNoEscape(); ReadCharNoEscape();

View File

@ -49,7 +49,7 @@ namespace PT
class JSONToSpaceParser class SpaceParser
{ {
public: public:
@ -57,7 +57,7 @@ public:
/* /*
ctor -- setting default values (SetDefault() method) ctor -- setting default values (SetDefault() method)
*/ */
JSONToSpaceParser(); SpaceParser();
/* /*