123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191 |
- diff -rupN -x .git autoclone/meshlab_repo-src/CMakeLists.txt meshlab_repo_patch/CMakeLists.txt
- --- autoclone/meshlab_repo-src/CMakeLists.txt 2024-12-06 18:01:10.831623800 -0800
- +++ meshlab_repo_patch/CMakeLists.txt 2024-12-06 18:15:09.647799500 -0800
- @@ -16,4 +16,6 @@ option(MESHLAB_USE_DEFAULT_BUILD_AND_INS
-
- option(MESHLAB_IS_NIGHTLY_VERSION "Nightly version of meshlab will be used instead of ML_VERSION" OFF)
-
- -add_subdirectory(src)
- \ No newline at end of file
- +# Disable meshlab project to avoid breaking assimp build (for converting VMRL (.wrl/.x3dv) files to
- +# .xml format, just need to compile two source files)
- +#add_subdirectory(src)
- diff -rupN -x .git autoclone/meshlab_repo-src/src/meshlabplugins/io_x3d/vrml/Parser.cpp meshlab_repo_patch/src/meshlabplugins/io_x3d/vrml/Parser.cpp
- --- autoclone/meshlab_repo-src/src/meshlabplugins/io_x3d/vrml/Parser.cpp 2024-12-06 18:01:12.268963700 -0800
- +++ meshlab_repo_patch/src/meshlabplugins/io_x3d/vrml/Parser.cpp 2024-12-06 14:19:26.138842300 -0800
- @@ -32,11 +32,11 @@
-
- *****************************************************************************/
-
- +#include <vector>
- #include <wchar.h>
- #include "Parser.h"
- #include "Scanner.h"
-
- -
- namespace VrmlTranslator {
-
-
- @@ -95,9 +95,11 @@ bool Parser::WeakSeparator(int n, int sy
- }
-
- void Parser::VrmlTranslator() {
- - QDomElement root = doc->createElement("X3D");
- - QDomElement scene = doc->createElement("Scene");
- - root.appendChild(scene);
- +// QDomElement root = doc->createElement("X3D");
- + pugi::xml_node root = doc->append_child("X3D");
- +// QDomElement scene = doc->createElement("Scene");
- +// root.appendChild(scene);
- + pugi::xml_node scene = root.append_child("Scene");
- InitX3dNode();
- if (la->kind == 7) {
- HeaderStatement();
- @@ -108,7 +110,7 @@ void Parser::VrmlTranslator() {
- ComponentStatements();
- MetaStatements();
- Statements(scene);
- - doc->appendChild(root);
- +// doc->appendChild(root);
- }
-
- void Parser::HeaderStatement() {
- @@ -147,7 +149,7 @@ void Parser::MetaStatements() {
- }
- }
-
- -void Parser::Statements(QDomElement& parent) {
- +void Parser::Statements(pugi::xml_node& parent) {
- while (StartOf(1)) {
- Statement(parent);
- }
- @@ -173,16 +175,16 @@ void Parser::ComponentSupportLevel() {
- }
-
- void Parser::ExportStatement() {
- - QString str;
- + std::string str;
- Expect(14);
- NodeNameId(str);
- Expect(15);
- ExportedNodeNameId();
- }
-
- -void Parser::NodeNameId(QString& str) {
- +void Parser::NodeNameId(std::string& str) {
- Expect(1);
- - str = QString(coco_string_create_char(t->val));
- + str = std::string(coco_string_create_char(t->val));
- }
-
- void Parser::ExportedNodeNameId() {
- @@ -190,7 +192,7 @@ void Parser::ExportedNodeNameId() {
- }
-
- void Parser::ImportStatement() {
- - QString str;
- + std::string str;
- Expect(16);
- InlineNodeNameId();
- Expect(17);
- @@ -217,7 +219,7 @@ void Parser::Metavalue() {
- Expect(4);
- }
-
- -void Parser::Statement(QDomElement& parent) {
- +void Parser::Statement(pugi::xml_node& parent) {
- if (StartOf(2)) {
- NodeStatement(parent);
- } else if (la->kind == 16) {
- @@ -231,8 +233,8 @@ void Parser::Statement(QDomElement& pare
- } else SynErr(87);
- }
-
- -void Parser::NodeStatement(QDomElement& parent) {
- - QString tagName, attrValue;
- +void Parser::NodeStatement(pugi::xml_node& parent) {
- + std::string tagName, attrValue;
- if (la->kind == 1 || la->kind == 38) {
- Node(parent, tagName, "");
- } else if (la->kind == 19) {
- @@ -242,17 +244,19 @@ void Parser::NodeStatement(QDomElement&
- } else if (la->kind == 20) {
- Get();
- NodeNameId(attrValue);
- - std::map<QString, QString>::const_iterator iter = defNode.find(attrValue);
- + std::map<std::string, std::string>::const_iterator iter = defNode.find(attrValue);
- if(iter != defNode.end())
- {
- - QDomElement node = doc->createElement(iter->second);
- - node.setAttribute("USE", attrValue);
- - parent.appendChild(node);
- +// QDomElement node = doc->createElement(iter->second);
- + pugi::xml_node node = parent.append_child((iter->second).c_str());
- +// node.setAttribute("USE", attrValue);
- + node.append_attribute("USE") = attrValue.c_str();
- +// parent.appendChild(node);
- }
- } else SynErr(88);
- }
-
- -void Parser::ProtoStatement(QDomElement& parent) {
- +void Parser::ProtoStatement(pugi::xml_node& parent) {
- if (la->kind == 21) {
- Proto(parent);
- } else if (la->kind == 34) {
- @@ -261,7 +265,7 @@ void Parser::ProtoStatement(QDomElement&
- }
-
- void Parser::RouteStatement() {
- - QString str;
- + std::string str;
- Expect(35);
- NodeNameId(str);
- Expect(17);
- @@ -272,22 +276,27 @@ void Parser::RouteStatement() {
- InputOnlyId(str);
- }
-
- -void Parser::Node(QDomElement& parent, QString& tagName, const QString defValue) {
- - bool flag = false; QDomElement node;
- +void Parser::Node(pugi::xml_node& parent, std::string& tagName, const std::string defValue) {
- + bool flag = false; pugi::xml_node node;
- if (la->kind == 1) {
- NodeTypeId(tagName);
- - std::set<QString>::const_iterator iter = proto.find(tagName);
- + std::set<std::string>::const_iterator iter = proto.find(tagName);
- if (iter != proto.end())
- {
- - node = doc->createElement("ProtoInstance");
- - node.setAttribute("name", tagName);
- +// node = doc->createElement("ProtoInstance");
- + node = parent.append_child("ProtoInstance");
- +// node.setAttribute("name", tagName);
- + node.append_attribute("name") = tagName.c_str();
- flag = true;
- }
- - else
- - node = doc->createElement(tagName);
- + else {
- +// node = doc->createElement(tagName);
- + node = parent.append_child(tagName.c_str());
- + }
- if (defValue != "")
- {
- - node.setAttribute("DEF", defValue);
- +// node.setAttribute("DEF", defValue);
- + node.append_attribute("DEF") = defValue.c_str();
- defNode[defValue] = tagName;
- }
- Expect(24);
- @@ -298,13 +307,14 @@ void Parser::Node(QDomElement& parent, Q
- Expect(24);
- ScriptBody();
- Expect(25);
- - node = doc->createElement("Script");
- +// node = doc->createElement("Script");
- + node = parent.append_child("Script");
- } else SynErr(90);
- - parent.appendChild(node);
- +// parent.appendChild(node);
- }
-
- -void Parser::RootNodeStatement(QDomElement& parent) {
- - QString tagName, attrValue;
- +void Parser::RootNodeStatement(pugi::xml_node& parent) {
- + std::string tagName, attrValue;
- if (la->kind == 1 || la->kind == 38) {
- Node(parent, tagName, "");
- } else if (la->kind == 19) {
- @@ -314,70 +324,82 @@ void Parser::RootNodeStatement(QDomEleme
- } else SynErr(91);
- }
-
- -void Parser::Proto(QDomElement& parent) {
- - QString name; QDomElement node;
- +void Parser::Proto(pugi::xml_node& parent) {
- +// QString name; QDomElement node;
- + std::string name; pugi::xml_node node;
- Expect(21);
- NodeTypeId(name);
- - node = doc->createElement("ProtoDeclare");
- - node.setAttribute("name", name);
- +// node = doc->createElement("ProtoDeclare");
- + node = parent.append_child("ProtoDeclare");
- +// node.setAttribute("name", name);
- + node.append_attribute("name") = name.c_str();
- proto.insert(name);
- Expect(22);
- - QDomElement interf = doc->createElement("ProtoInterface");
- +// QDomElement interf = doc->createElement("ProtoInterface");
- + pugi::xml_node interf = node.append_child("ProtoInterface");
- InterfaceDeclarations(interf);
- - node.appendChild(interf);
- +// node.appendChild(interf);
- Expect(23);
- Expect(24);
- - QDomElement body = doc->createElement("ProtoBody");
- +// QDomElement body = doc->createElement("ProtoBody");
- + pugi::xml_node body = node.append_child("ProtoBody");
- ProtoBody(body);
- - node.appendChild(body);
- +// node.appendChild(body);
- Expect(25);
- - parent.appendChild(node);
- +// parent.appendChild(node);
- }
-
- -void Parser::Externproto(QDomElement& parent) {
- - QString name, url;
- - QDomElement node = doc->createElement("ExternProtoDeclare");
- +void Parser::Externproto(pugi::xml_node& parent) {
- +// QString name, url;
- + std::string name, url;
- +// QDomElement node = doc->createElement("ExternProtoDeclare");
- + pugi::xml_node node = doc->append_child("ExternProtoDeclare");
- Expect(34);
- NodeTypeId(name);
- Expect(22);
- ExternInterfaceDeclarations(node);
- Expect(23);
- URLList(url);
- - std::set<QString>::const_iterator iter = x3dNode.find(name);
- + std::set<std::string>::const_iterator iter = x3dNode.find(name);
- if (iter == x3dNode.end())
- {
- - node.setAttribute("name", name);
- - node.setAttribute("url", url);
- - parent.appendChild(node);
- +// node.setAttribute("name", name);
- + node.append_attribute("name") = name.c_str();
- +// node.setAttribute("url", url);
- + node.append_attribute("url") = url.c_str();
- +// parent.appendChild(node);
- + parent.append_copy(node);
- proto.insert(name);
- }
- + doc->remove_child(node);
- }
-
- -void Parser::ProtoStatements(QDomElement& parent) {
- +void Parser::ProtoStatements(pugi::xml_node& parent) {
- while (la->kind == 21 || la->kind == 34) {
- ProtoStatement(parent);
- }
- }
-
- -void Parser::NodeTypeId(QString& str) {
- +void Parser::NodeTypeId(std::string& str) {
- Expect(1);
- - str = QString(coco_string_create_char(t->val));
- + str = std::string(coco_string_create_char(t->val));
- }
-
- -void Parser::InterfaceDeclarations(QDomElement& parent) {
- +void Parser::InterfaceDeclarations(pugi::xml_node& parent) {
- while (StartOf(3)) {
- InterfaceDeclaration(parent);
- }
- }
-
- -void Parser::ProtoBody(QDomElement& parent) {
- +void Parser::ProtoBody(pugi::xml_node& parent) {
- ProtoStatements(parent);
- RootNodeStatement(parent);
- Statements(parent);
- }
-
- -void Parser::InterfaceDeclaration(QDomElement& parent) {
- - QString name, type, val; QDomElement node;
- +void Parser::InterfaceDeclaration(pugi::xml_node& parent) {
- +// QString name, type, val; QDomElement node;
- + std::string name, type, val; pugi::xml_node node;
- if (StartOf(4)) {
- RestrictedInterfaceDeclaration(parent);
- } else if (la->kind == 32 || la->kind == 33) {
- @@ -388,18 +410,23 @@ void Parser::InterfaceDeclaration(QDomEl
- }
- FieldType(type);
- FieldId(name);
- + node = parent.append_child("field");
- FieldValue(node, "value", false);
- - node = doc->createElement("field");
- - node.setAttribute("name", name);
- - node.setAttribute("type", type);
- - node.setAttribute("accessType", "inputOutput");
- - parent.appendChild(node);
- +// node = doc->createElement("field");
- +// node.setAttribute("name", name);
- + node.append_attribute("name") = name.c_str();
- +// node.setAttribute("type", type);
- + node.append_attribute("type") = type.c_str();
- +// node.setAttribute("accessType", "inputOutput");
- + node.append_attribute("accessType") = "inputOutput";
- +// parent.appendChild(node);
- } else SynErr(92);
- }
-
- -void Parser::RestrictedInterfaceDeclaration(QDomElement& parent) {
- - QString name; QString type; QString val;
- - QDomElement node = doc->createElement("field");
- +void Parser::RestrictedInterfaceDeclaration(pugi::xml_node& parent) {
- + std::string name; std::string type; std::string val;
- +// QDomElement node = doc->createElement("field");
- + pugi::xml_node node = parent.append_child("field");
- if (la->kind == 26 || la->kind == 27) {
- if (la->kind == 26) {
- Get();
- @@ -408,7 +435,8 @@ void Parser::RestrictedInterfaceDeclarat
- }
- FieldType(type);
- InputOnlyId(name);
- - node.setAttribute("accessType", "inputOnly");
- +// node.setAttribute("accessType", "inputOnly");
- + node.append_attribute("accessType") = "inputOnly";
- } else if (la->kind == 28 || la->kind == 29) {
- if (la->kind == 28) {
- Get();
- @@ -417,7 +445,8 @@ void Parser::RestrictedInterfaceDeclarat
- }
- FieldType(type);
- OutputOnlyId(name);
- - node.setAttribute("accessType", "outputOnly");
- +// node.setAttribute("accessType", "outputOnly");
- + node.append_attribute("accessType") = "outputOnly";
- } else if (la->kind == 30 || la->kind == 31) {
- if (la->kind == 30) {
- Get();
- @@ -427,14 +456,17 @@ void Parser::RestrictedInterfaceDeclarat
- FieldType(type);
- InitializeOnlyId(name);
- FieldValue(node, "value", false);
- - node.setAttribute("accessType", "initializeOnly");
- +// node.setAttribute("accessType", "initializeOnly");
- + node.append_attribute("accessType") = "initializeOnly";
- } else SynErr(93);
- - node.setAttribute("name", name);
- - node.setAttribute("type", type);
- - parent.appendChild(node);
- +// node.setAttribute("name", name);
- + node.append_attribute("name") = name.c_str();
- +// node.setAttribute("type", type);
- + node.append_attribute("type") = type.c_str();
- +// parent.appendChild(node);
- }
-
- -void Parser::FieldType(QString& str) {
- +void Parser::FieldType(std::string& str) {
- switch (la->kind) {
- case 40: {
- Get();
- @@ -606,25 +638,25 @@ void Parser::FieldType(QString& str) {
- }
- default: SynErr(94); break;
- }
- - str = QString(coco_string_create_char(t->val));
- + str = std::string(coco_string_create_char(t->val));
- }
-
- -void Parser::InputOnlyId(QString& str) {
- +void Parser::InputOnlyId(std::string& str) {
- Expect(1);
- - str = QString(coco_string_create_char(t->val));
- + str = std::string(coco_string_create_char(t->val));
- }
-
- -void Parser::OutputOnlyId(QString& str) {
- +void Parser::OutputOnlyId(std::string& str) {
- Expect(1);
- - str = QString(coco_string_create_char(t->val));
- + str = std::string(coco_string_create_char(t->val));
- }
-
- -void Parser::InitializeOnlyId(QString& str) {
- +void Parser::InitializeOnlyId(std::string& str) {
- Expect(1);
- - str = QString(coco_string_create_char(t->val));
- + str = std::string(coco_string_create_char(t->val));
- }
-
- -void Parser::FieldValue(QDomElement& parent, QString fieldName, bool flag) {
- +void Parser::FieldValue(pugi::xml_node& parent, std::string fieldName, bool flag) {
- if (StartOf(5)) {
- SingleValue(parent, fieldName, flag);
- } else if (la->kind == 22) {
- @@ -632,21 +664,21 @@ void Parser::FieldValue(QDomElement& par
- } else SynErr(95);
- }
-
- -void Parser::FieldId(QString& str) {
- +void Parser::FieldId(std::string& str) {
- Expect(1);
- - str = QString(coco_string_create_char(t->val));
- + str = std::string(coco_string_create_char(t->val));
- }
-
- -void Parser::ExternInterfaceDeclarations(QDomElement& parent) {
- +void Parser::ExternInterfaceDeclarations(pugi::xml_node& parent) {
- while (StartOf(3)) {
- ExternInterfaceDeclaration(parent);
- }
- }
-
- -void Parser::URLList(QString& url) {
- +void Parser::URLList(std::string& url) {
- if (la->kind == 4) {
- Get();
- - url = QString(coco_string_create_char(t->val));
- + url = std::string(coco_string_create_char(t->val));
- } else if (la->kind == 22) {
- Get();
- while (la->kind == 4) {
- @@ -660,9 +692,10 @@ void Parser::URLList(QString& url) {
- } else SynErr(96);
- }
-
- -void Parser::ExternInterfaceDeclaration(QDomElement& parent) {
- - QString type, name;
- - QDomElement node = doc->createElement("field");
- +void Parser::ExternInterfaceDeclaration(pugi::xml_node& parent) {
- + std::string type, name;
- +// QDomElement node = doc->createElement("field");
- + pugi::xml_node node = parent.append_child("field");
- if (la->kind == 26 || la->kind == 27) {
- if (la->kind == 26) {
- Get();
- @@ -671,7 +704,8 @@ void Parser::ExternInterfaceDeclaration(
- }
- FieldType(type);
- InputOnlyId(name);
- - node.setAttribute("accessType", "inputOnly");
- +// node.setAttribute("accessType", "inputOnly");
- + node.append_attribute("accessType") = "inputOnly";
- } else if (la->kind == 28 || la->kind == 29) {
- if (la->kind == 28) {
- Get();
- @@ -680,7 +714,8 @@ void Parser::ExternInterfaceDeclaration(
- }
- FieldType(type);
- OutputOnlyId(name);
- - node.setAttribute("accessType", "outputOnly");
- +// node.setAttribute("accessType", "outputOnly");
- + node.append_attribute("accessType") = "outputOnly";
- } else if (la->kind == 30 || la->kind == 31) {
- if (la->kind == 30) {
- Get();
- @@ -689,7 +724,8 @@ void Parser::ExternInterfaceDeclaration(
- }
- FieldType(type);
- InitializeOnlyId(name);
- - node.setAttribute("accessType", "initializeOnly");
- +// node.setAttribute("accessType", "initializeOnly");
- + node.append_attribute("accessType") = "initializeOnly";
- } else if (la->kind == 32 || la->kind == 33) {
- if (la->kind == 32) {
- Get();
- @@ -698,14 +734,17 @@ void Parser::ExternInterfaceDeclaration(
- }
- FieldType(type);
- FieldId(name);
- - node.setAttribute("accessType", "inputOutput");
- +// node.setAttribute("accessType", "inputOutput");
- + node.append_attribute("accessType") = "inputOutput";
- } else SynErr(97);
- - node.setAttribute("name" , name);
- - node.setAttribute("type", type);
- - parent.appendChild(node);
- +// node.setAttribute("name" , name);
- + node.append_attribute("name") = name.c_str();
- +// node.setAttribute("type", type);
- + node.append_attribute("type") = type.c_str();
- +// parent.appendChild(node);
- }
-
- -void Parser::NodeBody(QDomElement& parent, bool flag) {
- +void Parser::NodeBody(pugi::xml_node& parent, bool flag) {
- while (StartOf(6)) {
- NodeBodyElement(parent, flag);
- }
- @@ -717,24 +756,29 @@ void Parser::ScriptBody() {
- }
- }
-
- -void Parser::NodeBodyElement(QDomElement& parent, bool flag) {
- - QString idName, idProto; QDomElement node;
- +void Parser::NodeBodyElement(pugi::xml_node& parent, bool flag) {
- +// QString idName, idProto; QDomElement node;
- + std::string idName, idProto; pugi::xml_node node;
- if (la->kind == 1) {
- Get();
- - idName = QString(coco_string_create_char(t->val));
- + idName = std::string(coco_string_create_char(t->val));
- if (StartOf(8)) {
- FieldValue(parent, idName, flag);
- } else if (la->kind == 39) {
- Get();
- Expect(1);
- - idProto = QString(coco_string_create_char(t->val));
- - node = doc->createElement("IS");
- - QDomElement connect = doc->createElement("connect");
- - connect.setAttribute("nodeField", idName);
- - connect.setAttribute("protoField", idProto);
- - node.appendChild(connect);
- - parent.appendChild(node);
- -
- + idProto = std::string(coco_string_create_char(t->val));
- +// node = doc->createElement("IS");
- + node = parent.append_child("IS");
- +// QDomElement connect = doc->createElement("connect");
- + pugi::xml_node connect = node.append_child("connect");
- +// connect.setAttribute("nodeField", idName);
- + connect.append_attribute("nodeField") = idName.c_str();
- +// connect.setAttribute("protoField", idProto);
- + connect.append_attribute("protoField") = idProto.c_str();
- +// node.appendChild(connect);
- +// parent.appendChild(node);
- +
- } else SynErr(98);
- } else if (la->kind == 35) {
- RouteStatement();
- @@ -744,7 +788,7 @@ void Parser::NodeBodyElement(QDomElement
- }
-
- void Parser::ScriptBodyElement() {
- - QString str; QDomElement elem;
- + std::string str; pugi::xml_node elem;
- if (StartOf(6)) {
- NodeBodyElement(elem, false);
- } else if (la->kind == 26 || la->kind == 27) {
- @@ -798,17 +842,21 @@ void Parser::ScriptBodyElement() {
- } else SynErr(101);
- }
-
- -void Parser::InputOutputId(QString& str) {
- +void Parser::InputOutputId(std::string& str) {
- Expect(1);
- - str = QString(coco_string_create_char(t->val));
- + str = std::string(coco_string_create_char(t->val));
- }
-
- -void Parser::SingleValue(QDomElement& parent, QString fieldName, bool flag) {
- - QString value; QDomElement tmpParent = doc->createElement("tmp");
- +void Parser::SingleValue(pugi::xml_node& parent, std::string fieldName, bool flag) {
- +// QString value; QDomElement tmpParent = doc->createElement("tmp");
- + std::string value; pugi::xml_node tmpParent = doc->append_child("tmpParent");
- if (StartOf(9)) {
- if (la->kind == 4) {
- Get();
- - value.append(coco_string_create_char(t->val)); value.remove("\"");
- + value.append(coco_string_create_char(t->val)); //value.remove("\"");
- + // TODO: modify quotation removal; below violates const-correctness:
- + // error: cannot convert ‘std::__cxx11::basic_string<char>::iterator’ to ‘const char*’
- +// value.erase(std::remove(value.begin(), value.end(), '"'), value.end());
- } else if (la->kind == 2 || la->kind == 3) {
- if (la->kind == 2) {
- Get();
- @@ -839,29 +887,41 @@ void Parser::SingleValue(QDomElement& pa
- }
- if (flag)
- {
- - QDomElement node = doc->createElement("fieldValue");
- - node.setAttribute("name", fieldName);
- - node.setAttribute("value", value);
- - parent.appendChild(node);
- - }
- - else
- - parent.setAttribute(fieldName, value);
- +// QDomElement node = doc->createElement("fieldValue");
- + pugi::xml_node node = parent.append_child("fieldValue");
- +// node.setAttribute("name", fieldName);
- + node.append_attribute("name") = fieldName.c_str();
- +// node.setAttribute("value", value);
- + node.append_attribute("value") = value.c_str();
- +// parent.appendChild(node);
- + }
- + else {
- +// parent.setAttribute(fieldName, value);
- + parent.append_attribute(fieldName.c_str()) = value.c_str();
- + }
- } else if (StartOf(2)) {
- NodeStatement(tmpParent);
- if (flag)
- {
- - QDomElement tmp = doc->createElement("fieldValue");
- - tmp.setAttribute("name", fieldName);
- - tmp.appendChild(tmpParent.firstChildElement());
- - parent.appendChild(tmp);
- - }
- - else
- - parent.appendChild(tmpParent.firstChildElement());
- +// QDomElement tmp = doc->createElement("fieldValue");
- + pugi::xml_node tmp = parent.append_child("fieldValue");
- +// tmp.setAttribute("name", fieldName);
- + tmp.append_attribute("name") = fieldName.c_str();
- +// tmp.appendChild(tmpParent.firstChildElement());
- + tmp.insert_child_before(pugi::node_element, tmpParent.first_child());
- +// parent.appendChild(tmp);
- + }
- + else {
- +// parent.appendChild(tmpParent.firstChildElement());
- + parent.append_copy(tmpParent.first_child());
- + }
- } else SynErr(102);
- + doc->remove_child(tmpParent);
- }
-
- -void Parser::MultiValue(QDomElement& parent, QString fieldName, bool flag) {
- - QString value; QDomElement tmpParent = doc->createElement("tmp");
- +void Parser::MultiValue(pugi::xml_node& parent, std::string fieldName, bool flag) {
- +// QString value; QDomElement tmpParent = doc->createElement("tmp");
- + std::string value; pugi::xml_node tmpParent = doc->append_child("tmpParent");
- Expect(22);
- if (StartOf(10)) {
- if (la->kind == 2 || la->kind == 3) {
- @@ -873,14 +933,19 @@ void Parser::MultiValue(QDomElement& par
- }
- if (flag)
- {
- - QDomElement tmp = doc->createElement("fieldValue");
- - tmp.setAttribute("name", fieldName);
- - tmp.setAttribute("value", value);
- - parent.appendChild(tmp);
- - }
- - else
- - parent.setAttribute(fieldName, value);
- -
- +// QDomElement tmp = doc->createElement("fieldValue");
- + pugi::xml_node tmp = parent.append_child("fieldValue");
- +// tmp.setAttribute("name", fieldName);
- + tmp.append_attribute("name") = fieldName.c_str();
- +// tmp.setAttribute("value", value);
- + tmp.append_attribute("value") = value.c_str();
- +// parent.appendChild(tmp);
- + }
- + else {
- +// parent.setAttribute(fieldName, value);
- + parent.append_attribute(fieldName.c_str()) = value.c_str();
- + }
- +
- } else if (StartOf(11)) {
- while (StartOf(2)) {
- NodeStatement(tmpParent);
- @@ -888,28 +953,41 @@ void Parser::MultiValue(QDomElement& par
- Get();
- }
- }
- - QDomElement child;
- - QDomNodeList list = tmpParent.childNodes();
- - QDomElement field = doc->createElement("field");
- - field.setAttribute("name", fieldName);
- - int i = 0;
- +// QDomElement child;
- + pugi::xml_node child;
- +// QDomNodeList list = tmpParent.childNodes();
- + std::vector<pugi::xml_node> list;
- + for (auto item : tmpParent.children()) {
- + list.push_back(item);
- + }
- +// QDomElement field = doc->createElement("field");
- + pugi::xml_node field = parent.append_child("field");
- +// field.setAttribute("name", fieldName);
- + field.append_attribute("name") = fieldName.c_str();
- + unsigned int i = 0;
- while(i < list.size())
- {
- - child = list.at(i).toElement();
- - if (flag)
- - field.appendChild(child.cloneNode());
- - else
- - parent.appendChild(child.cloneNode());
- + child = list.at(i);//.toElement();
- + if (flag) {
- +// field.appendChild(child.cloneNode());
- + field.append_copy(child);
- + } else {
- +// parent.appendChild(child.cloneNode());
- + parent.append_copy(child);
- + }
- i++;
- }
- - if (flag)
- - parent.appendChild(field);
- -
- + if (flag) {
- +// parent.appendChild(field);
- + } else {
- + parent.remove_child(field);
- + }
- } else SynErr(103);
- Expect(23);
- + doc->remove_child(tmpParent);
- }
-
- -void Parser::MultiNumber(QString& value) {
- +void Parser::MultiNumber(std::string& value) {
- if (la->kind == 2) {
- Get();
- } else if (la->kind == 3) {
- @@ -932,7 +1010,7 @@ void Parser::MultiNumber(QString& value)
- }
- }
-
- -void Parser::MultiString(QString& value) {
- +void Parser::MultiString(std::string& value) {
- Expect(4);
- value.append(coco_string_create_char(t->val));
- if (la->kind == 37) {
- @@ -947,7 +1025,7 @@ void Parser::MultiString(QString& value)
- }
- }
-
- -void Parser::MultiBool(QString& value) {
- +void Parser::MultiBool(std::string& value) {
- if (la->kind == 82) {
- Get();
- } else if (la->kind == 84) {
- @@ -1173,7 +1251,7 @@ void Errors::Warning(const wchar_t *s) {
- }
-
- void Errors::Exception(const wchar_t* s) {
- - wprintf(L"%ls", s);
- + wprintf(L"%ls", s);
- exit(1);
- }
- */
- diff -rupN -x .git autoclone/meshlab_repo-src/src/meshlabplugins/io_x3d/vrml/Parser.h meshlab_repo_patch/src/meshlabplugins/io_x3d/vrml/Parser.h
- --- autoclone/meshlab_repo-src/src/meshlabplugins/io_x3d/vrml/Parser.h 2024-12-06 18:01:12.268963700 -0800
- +++ meshlab_repo_patch/src/meshlabplugins/io_x3d/vrml/Parser.h 2024-12-06 18:48:17.891284300 -0800
- @@ -35,9 +35,10 @@
- #if !defined(VRML_PARSER_H__)
- #define VRML_PARSER_H__
-
- -#include <QtXml>
- +#include "contrib/pugixml/src/pugixml.hpp"
- +#include <map>
- #include <set>
- -
- +#include <string>
-
- #include "Scanner.h"
-
- @@ -48,7 +49,7 @@ class Errors {
- public:
- int count; // number of errors detected
- wchar_t* stringError;
- -
- +
- Errors();
- ~Errors();
- void SynErr(int line, int col, int n);
- @@ -90,14 +91,15 @@ public:
- Token *t; // last recognized token
- Token *la; // lookahead token
-
- -QDomDocument *doc;
- -
- - std::map<QString, QString> defNode;
- -
- - std::set<QString> proto;
- -
- - std::set<QString> x3dNode;
- -
- + pugi::xml_document doc_;
- + pugi::xml_document *doc = &doc_; // IrrXMLReader* createIrrXMLReader(const char* filename);
- +
- + std::map<std::string, std::string> defNode;
- +
- + std::set<std::string> proto;
- +
- + std::set<std::string> x3dNode;
- +
- void InitX3dNode()
- {
- x3dNode.insert("Arc2D"); x3dNode.insert("ArcClose2D"); x3dNode.insert("BallJoint");
- @@ -116,7 +118,7 @@ QDomDocument *doc;
- x3dNode.insert("EspduTransform"); x3dNode.insert("ExplosionEmitter");
- x3dNode.insert("FillProperties"); x3dNode.insert("FloatVertexAttribute");
- x3dNode.insert("FogCoordinate"); x3dNode.insert(" GeneratedCubeMapTexture");
- - x3dNode.insert("GeoCoordinate"); x3dNode.insert("GeoElevationGrid"); x3dNode.insert("GeoLocation");
- + x3dNode.insert("GeoCoordinate"); x3dNode.insert("GeoElevationGrid"); x3dNode.insert("GeoLocation");
- x3dNode.insert("GeoLOD"); x3dNode.insert("GeoMetadata"); x3dNode.insert("GeoOrigin");
- x3dNode.insert("GeoPositionInterpolator"); x3dNode.insert("GeoProximitySensor");
- x3dNode.insert("GeoTouchSensor"); x3dNode.insert("GeoViewpoint"); x3dNode.insert("GravityPhysicsModel");
- @@ -128,7 +130,7 @@ QDomDocument *doc;
- x3dNode.insert("Layer"); x3dNode.insert("LayerSet"); x3dNode.insert("Layout");
- x3dNode.insert("LayoutGroup"); x3dNode.insert("LayoutLayer"); x3dNode.insert("LinePicker");
- x3dNode.insert("LineProperties"); x3dNode.insert("LineSet"); x3dNode.insert("LoadSensor");
- - x3dNode.insert("LocalFog"); x3dNode.insert("Material"); x3dNode.insert("Matrix3VertexAttribute");
- + x3dNode.insert("LocalFog"); x3dNode.insert("Material"); x3dNode.insert("Matrix3VertexAttribute");
- x3dNode.insert("Matrix4VertexAttribute"); x3dNode.insert("MetadataDouble");
- x3dNode.insert("MetadataFloat"); x3dNode.insert("MetadataInteger"); x3dNode.insert("MetadataSet");
- x3dNode.insert("MetadataString"); x3dNode.insert("MotorJoint"); x3dNode.insert("MultiTexture");
- @@ -162,7 +164,7 @@ QDomDocument *doc;
- x3dNode.insert(" Viewpoint"); x3dNode.insert("ViewpointGroup"); x3dNode.insert("VolumeEmitter");
- x3dNode.insert("VolumePicker"); x3dNode.insert("WindPhysicsModel"); x3dNode.insert("Cylinder"); x3dNode.insert("Sphere");
- }
- -
- +
-
-
- Parser(Scanner *scanner);
- @@ -174,52 +176,52 @@ QDomDocument *doc;
- void ProfileStatement();
- void ComponentStatements();
- void MetaStatements();
- - void Statements(QDomElement& parent);
- + void Statements(pugi::xml_node& parent);
- void ProfileNameId();
- void ComponentStatement();
- void ComponentNameId();
- void ComponentSupportLevel();
- void ExportStatement();
- - void NodeNameId(QString& str);
- + void NodeNameId(std::string& str);
- void ExportedNodeNameId();
- void ImportStatement();
- void InlineNodeNameId();
- void MetaStatement();
- void Metakey();
- void Metavalue();
- - void Statement(QDomElement& parent);
- - void NodeStatement(QDomElement& parent);
- - void ProtoStatement(QDomElement& parent);
- + void Statement(pugi::xml_node& parent);
- + void NodeStatement(pugi::xml_node& parent);
- + void ProtoStatement(pugi::xml_node& parent);
- void RouteStatement();
- - void Node(QDomElement& parent, QString& tagName, const QString defValue);
- - void RootNodeStatement(QDomElement& parent);
- - void Proto(QDomElement& parent);
- - void Externproto(QDomElement& parent);
- - void ProtoStatements(QDomElement& parent);
- - void NodeTypeId(QString& str);
- - void InterfaceDeclarations(QDomElement& parent);
- - void ProtoBody(QDomElement& parent);
- - void InterfaceDeclaration(QDomElement& parent);
- - void RestrictedInterfaceDeclaration(QDomElement& parent);
- - void FieldType(QString& str);
- - void InputOnlyId(QString& str);
- - void OutputOnlyId(QString& str);
- - void InitializeOnlyId(QString& str);
- - void FieldValue(QDomElement& parent, QString fieldName, bool flag);
- - void FieldId(QString& str);
- - void ExternInterfaceDeclarations(QDomElement& parent);
- - void URLList(QString& url);
- - void ExternInterfaceDeclaration(QDomElement& parent);
- - void NodeBody(QDomElement& parent, bool flag);
- + void Node(pugi::xml_node& parent, std::string& tagName, const std::string defValue);
- + void RootNodeStatement(pugi::xml_node& parent);
- + void Proto(pugi::xml_node& parent);
- + void Externproto(pugi::xml_node& parent);
- + void ProtoStatements(pugi::xml_node& parent);
- + void NodeTypeId(std::string& str);
- + void InterfaceDeclarations(pugi::xml_node& parent);
- + void ProtoBody(pugi::xml_node& parent);
- + void InterfaceDeclaration(pugi::xml_node& parent);
- + void RestrictedInterfaceDeclaration(pugi::xml_node& parent);
- + void FieldType(std::string& str);
- + void InputOnlyId(std::string& str);
- + void OutputOnlyId(std::string& str);
- + void InitializeOnlyId(std::string& str);
- + void FieldValue(pugi::xml_node& parent, std::string fieldName, bool flag);
- + void FieldId(std::string& str);
- + void ExternInterfaceDeclarations(pugi::xml_node& parent);
- + void URLList(std::string& url);
- + void ExternInterfaceDeclaration(pugi::xml_node& parent);
- + void NodeBody(pugi::xml_node& parent, bool flag);
- void ScriptBody();
- - void NodeBodyElement(QDomElement& parent, bool flag);
- + void NodeBodyElement(pugi::xml_node& parent, bool flag);
- void ScriptBodyElement();
- - void InputOutputId(QString& str);
- - void SingleValue(QDomElement& parent, QString fieldName, bool flag);
- - void MultiValue(QDomElement& parent, QString fieldName, bool flag);
- - void MultiNumber(QString& value);
- - void MultiString(QString& value);
- - void MultiBool(QString& value);
- + void InputOutputId(std::string& str);
- + void SingleValue(pugi::xml_node& parent, std::string fieldName, bool flag);
- + void MultiValue(pugi::xml_node& parent, std::string fieldName, bool flag);
- + void MultiNumber(std::string& value);
- + void MultiString(std::string& value);
- + void MultiBool(std::string& value);
-
- void Parse();
-
- diff -rupN -x .git autoclone/meshlab_repo-src/src/meshlabplugins/io_x3d/vrml/Scanner.cpp meshlab_repo_patch/src/meshlabplugins/io_x3d/vrml/Scanner.cpp
- --- autoclone/meshlab_repo-src/src/meshlabplugins/io_x3d/vrml/Scanner.cpp 2024-12-06 18:01:12.268963700 -0800
- +++ meshlab_repo_patch/src/meshlabplugins/io_x3d/vrml/Scanner.cpp 2024-12-06 14:21:47.920443100 -0800
- @@ -39,7 +39,7 @@
-
- wchar_t* coco_string_create(const wchar_t* value) {
- wchar_t* data;
- - int len = 0;
- + size_t len = 0;
- if (value) { len = wcslen(value); }
- data = new wchar_t[len + 1];
- wcsncpy(data, value, len);
- @@ -63,7 +63,7 @@ wchar_t* coco_string_create_upper(const
- if (!data) { return NULL; }
-
- int dataLen = 0;
- - if (data) { dataLen = wcslen(data); }
- + if (data) { dataLen = static_cast<int>(wcslen(data)); }
-
- wchar_t *newData = new wchar_t[dataLen + 1];
-
- @@ -80,7 +80,7 @@ wchar_t* coco_string_create_upper(const
-
- wchar_t* coco_string_create_lower(const wchar_t* data) {
- if (!data) { return NULL; }
- - int dataLen = wcslen(data);
- + int dataLen = static_cast<int>(wcslen(data));
- return coco_string_create_lower(data, 0, dataLen);
- }
-
- @@ -102,11 +102,11 @@ wchar_t* coco_string_create_lower(const
-
- wchar_t* coco_string_create_append(const wchar_t* data1, const wchar_t* data2) {
- wchar_t* data;
- - int data1Len = 0;
- - int data2Len = 0;
- + size_t data1Len = 0;
- + size_t data2Len = 0;
-
- if (data1) { data1Len = wcslen(data1); }
- - if (data2) {data2Len = wcslen(data2); }
- + if (data2) { data2Len = wcslen(data2); }
-
- data = new wchar_t[data1Len + data2Len + 1];
-
- @@ -133,13 +133,13 @@ void coco_string_delete(wchar_t* &data)
- }
-
- int coco_string_length(const wchar_t* data) {
- - if (data) { return wcslen(data); }
- + if (data) { return static_cast<int>(wcslen(data)); }
- return 0;
- }
-
- bool coco_string_endswith(const wchar_t* data, const wchar_t *end) {
- - int dataLen = wcslen(data);
- - int endLen = wcslen(end);
- + size_t dataLen = wcslen(data);
- + size_t endLen = wcslen(end);
- return (endLen <= dataLen) && (wcscmp(data + dataLen - endLen, end) == 0);
- }
-
- @@ -186,8 +186,8 @@ int coco_string_hash(const wchar_t *data
- // string handling, ascii character
-
- wchar_t* coco_string_create(const char* value) {
- - int len = 0;
- - if (value) { len = strlen(value); }
- + int len = 0;
- + if (value) { len = static_cast<int>(strlen(value)); }
- wchar_t* data = new wchar_t[len + 1];
- for (int i = 0; i < len; ++i) { data[i] = (wchar_t) value[i]; }
- data[len] = 0;
- @@ -240,7 +240,7 @@ Buffer::Buffer(FILE* s, bool isUserStrea
- fileLen = bufLen = bufStart = 0;
- }
- bufCapacity = (bufLen>0) ? bufLen : MIN_BUFFER_LENGTH;
- - buf = new unsigned char[bufCapacity];
- + buf = new unsigned char[bufCapacity];
- if (fileLen > 0) SetPos(0); // setup buffer to position 0 (start)
- else bufPos = 0; // index 0 is already after the file, thus Pos = 0 is invalid
- if (bufLen == fileLen && CanSeek()) Close();
- @@ -270,7 +270,7 @@ Buffer::Buffer(const unsigned char* buf,
- }
-
- Buffer::~Buffer() {
- - Close();
- + Close();
- if (buf != NULL) {
- delete [] buf;
- buf = NULL;
- @@ -306,12 +306,12 @@ int Buffer::Peek() {
-
- wchar_t* Buffer::GetString(int beg, int end) {
- int len = end - beg;
- - wchar_t *buf = new wchar_t[len];
- + wchar_t *retBuf = new wchar_t[len];
- int oldPos = GetPos();
- SetPos(beg);
- - for (int i = 0; i < len; ++i) buf[i] = (wchar_t) Read();
- + for (int i = 0; i < len; ++i) retBuf[i] = (wchar_t) Read();
- SetPos(oldPos);
- - return buf;
- + return retBuf;
- }
-
- int Buffer::GetPos() {
- @@ -329,16 +329,16 @@ void Buffer::SetPos(int value) {
-
- if ((value < 0) || (value > fileLen)) {
- char msg[50];
- - sprintf(msg, "Buffer out of bounds access, position: %d", value);
- + snprintf(msg, 50, "Buffer out of bounds access, position: %d", value);
- throw msg;
- -
- +
- }
-
- if ((value >= bufStart) && (value < (bufStart + bufLen))) { // already in buffer
- bufPos = value - bufStart;
- } else if (stream != NULL) { // must be swapped in
- fseek(stream, value, SEEK_SET);
- - bufLen = fread(buf, sizeof(unsigned char), bufCapacity, stream);
- + bufLen = static_cast<int>(fread(buf, sizeof(unsigned char), bufCapacity, stream));
- bufStart = value; bufPos = 0;
- } else {
- bufPos = fileLen - bufStart; // make Pos return fileLen
- @@ -362,7 +362,7 @@ int Buffer::ReadNextStreamChunk() {
- buf = newBuf;
- free = bufLen;
- }
- - int read = fread(buf + bufLen, sizeof(unsigned char), free, stream);
- + int read = static_cast<int>(fread(buf + bufLen, sizeof(unsigned char), free, stream));
- if (read > 0) {
- fileLen = bufLen = (bufLen + read);
- return read;
- @@ -416,7 +416,7 @@ Scanner::Scanner(const wchar_t* fileName
- char *chFileName = coco_string_create_char(fileName);
- if ((stream = fopen(chFileName, "rb")) == NULL) {
- char msg[50];
- - sprintf(msg, "Can not open file: %s", chFileName);
- + snprintf(msg, 50, "Can not open file: %s", chFileName);
- coco_string_delete(chFileName);
- throw msg;
- }
- @@ -554,7 +554,7 @@ void Scanner::Init() {
- heapEnd = (void**) (((char*) heap) + HEAP_BLOCK_SIZE);
- *heapEnd = 0;
- heapTop = heap;
- - if (sizeof(Token) > HEAP_BLOCK_SIZE) {
- + if constexpr (sizeof(Token) > HEAP_BLOCK_SIZE) {
- throw "Too small HEAP_BLOCK_SIZE";
- }
-
- @@ -637,18 +637,18 @@ void Scanner::CreateHeapBlock() {
- }
-
- Token* Scanner::CreateToken() {
- - Token *t;
- + Token *tkn;
- if (((char*) heapTop + (int) sizeof(Token)) >= (char*) heapEnd) {
- CreateHeapBlock();
- }
- - t = (Token*) heapTop;
- + tkn = (Token*) heapTop;
- heapTop = (void*) ((char*) heapTop + sizeof(Token));
- - t->val = NULL;
- - t->next = NULL;
- - return t;
- + tkn->val = NULL;
- + tkn->next = NULL;
- + return tkn;
- }
-
- -void Scanner::AppendVal(Token *t) {
- +void Scanner::AppendVal(Token *tkn) {
- int reqMem = (tlen + 1) * sizeof(wchar_t);
- if (((char*) heapTop + reqMem) >= (char*) heapEnd) {
- if (reqMem > HEAP_BLOCK_SIZE) {
- @@ -656,11 +656,11 @@ void Scanner::AppendVal(Token *t) {
- }
- CreateHeapBlock();
- }
- - t->val = (wchar_t*) heapTop;
- + tkn->val = (wchar_t*) heapTop;
- heapTop = (void*) ((char*) heapTop + reqMem);
-
- - wcsncpy(t->val, tval, tlen);
- - t->val[tlen] = L'\0';
- + wcsncpy(tkn->val, tval, tlen);
- + tkn->val[tlen] = L'\0';
- }
-
- Token* Scanner::NextToken() {
- diff -rupN -x .git autoclone/meshlab_repo-src/src/meshlabplugins/io_x3d/vrml/Scanner.h meshlab_repo_patch/src/meshlabplugins/io_x3d/vrml/Scanner.h
- --- autoclone/meshlab_repo-src/src/meshlabplugins/io_x3d/vrml/Scanner.h 2024-12-06 18:01:12.268963700 -0800
- +++ meshlab_repo_patch/src/meshlabplugins/io_x3d/vrml/Scanner.h 2024-12-06 14:21:59.453748300 -0800
- @@ -52,9 +52,9 @@
- //#define coco_swprintf _snwprintf
- //#elif defined __GNUC__
- //#define coco_swprintf swprintf
- -//#else
- +//#else
- //#error unknown compiler!
- -//#endif
- +//#endif
-
- #ifdef WIN32
- #ifndef __MINGW32__
- @@ -62,7 +62,7 @@
- #define coco_swprintf swprintf_s
- #elif _MSC_VER >= 1300
- #define coco_swprintf _snwprintf
- - #else
- + #else
- #error unknown compiler!
- #endif
- #else
- @@ -106,7 +106,7 @@ void coco_string_delete(char* &data);
- namespace VrmlTranslator {
-
-
- -class Token
- +class Token
- {
- public:
- int kind; // token kind
- @@ -135,10 +135,10 @@ private:
- int bufPos; // current position in buffer
- FILE* stream; // input stream (seekable)
- bool isUserStream; // was the stream opened by the user?
- -
- +
- int ReadNextStreamChunk();
- bool CanSeek(); // true if stream can seek otherwise false
- -
- +
- public:
- static const int EoF = COCO_WCHAR_MAX + 1;
-
- @@ -146,7 +146,7 @@ public:
- Buffer(const unsigned char* buf, int len);
- Buffer(Buffer *b);
- virtual ~Buffer();
- -
- +
- virtual void Close();
- virtual int Read();
- virtual int Peek();
- @@ -256,7 +256,7 @@ private:
- int eofSym;
- int noSym;
- int maxT;
- - int charSetSize;
- +// int charSetSize; // unused
- StartStates start;
- KeywordMap keywords;
-
- @@ -277,7 +277,7 @@ private:
-
- void CreateHeapBlock();
- Token* CreateToken();
- - void AppendVal(Token *t);
- + void AppendVal(Token *tkn);
-
- void Init();
- void NextCh();
- @@ -288,7 +288,7 @@ private:
-
- public:
- Buffer *buffer; // scanner buffer
- -
- +
- Scanner(const unsigned char* buf, int len);
- Scanner(const wchar_t* fileName);
- Scanner(FILE* s);
|