• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

programming language


Commit MetaInfo

Revisióndd4ff343c7694c2609b6b77a07764f029cb26ef4 (tree)
Tiempo2021-11-18 22:41:46
Autordhrname <dhrname@joes...>
Commiterdhrname

Log Message

Modify a namespace in the Parser class

Cambiar Resumen

Diferencia incremental

Binary files a/bin/joestar.exe and b/bin/joestar.exe differ
Binary files a/bin/obj/main.o and b/bin/obj/main.o differ
--- a/main.cpp
+++ b/main.cpp
@@ -450,6 +450,31 @@ namespace jstr
450450 {
451451 };
452452
453+ /**/
454+ class ContinueStatement: public MetaPhrase
455+ {
456+ };
457+
458+ /**/
459+ class BreakStatement: public MetaPhrase
460+ {
461+ };
462+
463+ /**/
464+ class ExpectStatement: public MetaPhrase
465+ {
466+ };
467+
468+ /**/
469+ class ErrorStatement: public MetaPhrase
470+ {
471+ };
472+
473+ /**/
474+ class ExceptionStatement: public MetaPhrase
475+ {
476+ };
477+
453478 /*ExpressionSimpleStatement クラス
454479 * 式の中間コードを生成する文を示す
455480 * このクラスは関手である*/
@@ -690,62 +715,63 @@ namespace jstr
690715 std::cout << "indent" << lexer->YYLeng() << lexer->YYText() << std::endl;
691716 break;
692717 case CHARACTER8:
693- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::StringTypeValue(8)) );
718+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new StringTypeValue(8)) );
694719 std::cout << lexer->YYText() << std::endl;
695720 break;
696721 case CHARACTER16:
697- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::StringTypeValue(16)) );
722+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new StringTypeValue(16)) );
698723 std::cout << lexer->YYText() << std::endl;
699724 break;
700725 case CHARACTER32:
701- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::StringTypeValue(32)) );
726+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new StringTypeValue(32)) );
702727 std::cout << lexer->YYText() << std::endl;
703728 break;
704729 case CHARACTER64:
705- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::StringTypeValue(64)) );
730+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new StringTypeValue(64)) );
706731 std::cout << lexer->YYText() << std::endl;
707732 break;
708733 case INTEGER8:
709- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::IntegerTypeValue(8)) );
734+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new IntegerTypeValue(8)) );
710735 std::cout << lexer->YYText() << std::endl;
711736 break;
712737 case INTEGER16:
713- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::IntegerTypeValue(16)) );
738+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new IntegerTypeValue(16)) );
714739 std::cout << lexer->YYText() << std::endl;
715740 break;
716741 case INTEGER32:
717- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::IntegerTypeValue(32)) );
742+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new IntegerTypeValue(32)) );
718743 std::cout << lexer->YYText() << std::endl;
719744 break;
720745 case INTEGER64:
721- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::IntegerTypeValue(64)) );
746+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new IntegerTypeValue(64)) );
722747 std::cout << lexer->YYText() << std::endl;
723748 break;
724749 case UINTEGER8:
725- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::IntegerTypeValue(8, false)) );
750+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new IntegerTypeValue(8, false)) );
726751 std::cout << lexer->YYText() << std::endl;
727752 break;
728753 case UINTEGER16:
729- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::IntegerTypeValue(16, false)) );
754+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new IntegerTypeValue(16, false)) );
730755 std::cout << lexer->YYText() << std::endl;
731756 break;
732757 case UINTEGER32:
733- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::IntegerTypeValue(32, false)) );
758+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new IntegerTypeValue(32, false)) );
734759 std::cout << lexer->YYText() << std::endl;
735760 break;
736761 case UINTEGER64:
737- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::IntegerTypeValue(64, false)) );
762+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new IntegerTypeValue(64, false)) );
738763 std::cout << lexer->YYText() << std::endl;
739764 break;
740765 case FLOAT:
741- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::RealNumberTypeValue(64)) );
766+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new RealNumberTypeValue(64)) );
742767 std::cout << lexer->YYText() << std::endl;
743768 break;
744769 case DOUBLE:
745- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::RealNumberTypeValue(128)) );
770+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new RealNumberTypeValue(128)) );
746771 std::cout << lexer->YYText() << std::endl;
747772 break;
748773 case BOOLEAN:
774+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new BooleanTypeValue()) );
749775 std::cout << lexer->YYText() << std::endl;
750776 break;
751777 case OBJECT:
@@ -758,7 +784,7 @@ namespace jstr
758784 std::cout << lexer->YYText() << std::endl;
759785 break;
760786 case CLASS:
761- ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new jstr::ClassModule()) );
787+ ast = this->nest(ast, abstractSyntaxTreeRoot->makeNode(new ClassModule()) );
762788 std::cout << lexer->YYText() << std::endl;
763789 break;
764790 case CONST:
@@ -803,6 +829,7 @@ namespace jstr
803829 std::cout << lexer->YYText() << std::endl;
804830 break;
805831 case RETURN:
832+ /*return文を処理する。改行を示すJRETURNとは異なる*/
806833 std::cout << lexer->YYText() << std::endl;
807834 break;
808835 case JERROR: