programming language
Revisión | 6b5d6dc0e11943e1cb657de08cf11d6ac0195ae8 (tree) |
---|---|
Tiempo | 2021-11-09 22:54:30 |
Autor | dhrname <dhrname@joes...> |
Commiter | dhrname |
Modify the nest member function
@@ -27,6 +27,7 @@ | ||
27 | 27 | #include <cstdio> |
28 | 28 | #include <fstream> |
29 | 29 | #include <exception> |
30 | +#include <vector> | |
30 | 31 | #include <iterator> |
31 | 32 | #include "node.hpp" |
32 | 33 | #include <FlexLexer.h> |
@@ -503,7 +504,9 @@ namespace jstr | ||
503 | 504 | |
504 | 505 | AbstractSyntaxTree() |
505 | 506 | :spaceLength(0), |
506 | - cacheSpaceLength(0), | |
507 | + /*cacheSpaceLengthはspaceLengthと同じ値だと、 | |
508 | + * 一番初めのnestメンバ関数で失敗するので、spaceLengthより少ない値にしておく*/ | |
509 | + cacheSpaceLength(-1), | |
507 | 510 | vectorSpaceLength{0}, |
508 | 511 | abstractSyntaxTreeRoot{new jstr::root()} |
509 | 512 | { |
@@ -940,6 +943,7 @@ int main(int argc, char **argv) | ||
940 | 943 | pa->parse(argv[1]); |
941 | 944 | EXPECT(pa->getAbstractSyntaxTree()->isNode(), true); |
942 | 945 | EXPECT(pa->getAbstractSyntaxTree()->getParent()->isNode(), false); |
946 | + EXPECT( pa->getAbstractSyntaxTree()->getFirstChild()->isCaseOf(typeid(jstr::SemanticNetwork*)), true ); | |
943 | 947 | jstr::Parser* paa = new jstr::Parser(); |
944 | 948 | paa->parse("test/classtest.j"); |
945 | 949 | EXPECT(paa->getAbstractSyntaxTree()->isNode(), true); |