icomputerfreak / dercompiler Goto Github PK
View Code? Open in Web Editor NEWHome Page: http://www.dercompiler.de
Home Page: http://www.dercompiler.de
Apparently, gradle 7.1 doesn't support JDK 17, which is installed in our Speedcenter. That's probably why your build seems to fail consistently with "Unsupported class file major version 61": http://speedcenter.informatik.kit.edu/compprakt/run-detail/d22c9fb6-ab48-42d0-a75e-7a0e14285ad0
Currently ./run Test.java --echo
works, as well as ./run --echo Test.java
. Depending on the requirements, we may need to change --echo
to work as an argument with its own parameter, not as a flag.
Currently your code swallows the next token after do
if it is not part of an identifier.
I'd guess it happens as you try to read the o
in do
twice:
case 'o':
readCharacter();
// do. | do.uble
if (!isIdentifierChar(currentChar)) {
readCharacter(); // <---- Duplicated read here
return Token.DO;
} else return compareSuffix(Token.DOUBLE_TYPE, 2);
In the mjtest repo this triggers for do, else
which your compiler turns into do
and else
tokens, swallowing the comma.
I wouldn't normally report random bugs in your compiler but I found that in the pipeline output and was intrigued. I hope that's alright with you :)
Greetings traveller,
sticks and stones won't break your bones but https://git.scc.kit.edu/IPDSnelting/mjtest-tests broke your compiler :(
Have fun and take good care of it 🐞
Running lexer tests
[SUCCESS] lexer:AllTokens.valid.mj correct
[SUCCESS] lexer:AlmostKeywords.mj correct
[SUCCESS] lexer:Comment.valid.mj correct
[SUCCESS] lexer:CommentSeperator.valid.mj correct
[SUCCESS] lexer:ConcatenatedComments.valid.mj correct
[SUCCESS] lexer:Cowsay.invalid.mj correct
[SUCCESS] lexer:Cowsay.valid.mj correct
[SUCCESS] lexer:DerCompilerMain.valid.mj correct
[SUCCESS] lexer:DollarIdentifier.invalid.mj correct
[SUCCESS] lexer:EmptyFile.mj correct
[SUCCESS] lexer:EmptyFile.valid.mj correct
[SUCCESS] lexer:EvenWeirderNumbers.valid.mj correct
[SUCCESS] lexer:Haskell.valid.mj correct
[SUCCESS] lexer:Identifiers.valid.mj correct
[SUCCESS] lexer:IntLiteralWithLeadingZero.mj correct
[SUCCESS] lexer:InvalidComment.invalid.mj correct
[SUCCESS] lexer:InvalidDollarSymbol.invalid.mj correct
[SUCCESS] lexer:Keywords.mj correct
[SUCCESS] lexer:KeywordsOperatorsNumbersAndSpacing.valid.mj correct
[SUCCESS] lexer:LargeIntegerLiteral.mj correct
[SUCCESS] lexer:LongestPattern.mj correct
[SUCCESS] lexer:MathWithEmptyComment.mj correct
[SUCCESS] lexer:MixUp.mj correct
[SUCCESS] lexer:Operators.valid.mj correct
[SUCCESS] lexer:SomeEdgecases.valid.mj correct
[SUCCESS] lexer:String.invalid.mj correct
[SUCCESS] lexer:UnicodeIdent1.invalid.mj correct
[SUCCESS] lexer:UnicodeIdent2.invalid.mj correct
[SUCCESS] lexer:UnicodeWhitespace.invalid.mj correct
[SUCCESS] lexer:UppercaseIgnore.valid.mj correct
[SUCCESS] lexer:UppercaseKeywords.mj correct
[SUCCESS] lexer:Waffelrezept.mj correct
[SUCCESS] lexer:WildWhitespaces.mj correct
----------------------------------------
All 33 run tests succeeded
Running syntax tests
[SUCCESS] syntax:AccessChain.valid.mj correct
[SUCCESS] syntax:Add.valid.mj correct
[SUCCESS] syntax:AdditionalSemicolon.invalid.mj correct
[SUCCESS] syntax:ArrayAccess.valid.mj correct
[SUCCESS] syntax:AssignmentExpressionStatementAfterIf.valid.mj correct
[SUCCESS] syntax:BlockStatement.mj correct
[SUCCESS] syntax:Braces.valid.mj correct
[SUCCESS] syntax:CStyleArrays.invalid.mj correct
[SUCCESS] syntax:CSyntax.invalid.mj correct
[SUCCESS] syntax:ClassWithPublic.invalid.mj correct
[SUCCESS] syntax:ComplexExpression.valid.mj correct
[SUCCESS] syntax:DeeplyNestedCalc.valid.mj correct
[SUCCESS] syntax:DerCompilerMain.valid.mj correct
[SUCCESS] syntax:DisallowedBitwiseOr.invalid.mj correct
[SUCCESS] syntax:DisallowedConstructors.invalid.mj correct
[SUCCESS] syntax:DisallowedInitializedAttributes.invalid.mj correct
[SUCCESS] syntax:ElseOneBrace.invalid.mj correct
[SUCCESS] syntax:Empty.valid.mj correct
[SUCCESS] syntax:EmptyArrayAccess.invalid.mj correct
[SUCCESS] syntax:EmptyClassNamedStaticMethod.mj correct
[SUCCESS] syntax:EveryPossibleLanguageConstruct.valid.mj correct
[SUCCESS] syntax:FinalBeforeParameter.invalid.mj correct
[SUCCESS] syntax:FinalInParameter.invalid.mj correct
[SUCCESS] syntax:Foo.invalid.mj correct
[SUCCESS] syntax:Foo.valid.mj correct
[SUCCESS] syntax:FullClass.valid.mj correct
[SUCCESS] syntax:HelloWorld.mj correct
[SUCCESS] syntax:IfWhileNoBraces.valid.mj correct
[SUCCESS] syntax:InnerClass.invalid.mj correct
[SUCCESS] syntax:InvalidExpression.invalid.mj correct
[SUCCESS] syntax:InvalidIdentifier1.invalid.mj correct
[SUCCESS] syntax:InvalidIdentifier2.invalid.mj correct
[SUCCESS] syntax:InvalidIdentifier3.invalid.mj correct
[SUCCESS] syntax:LocalVariableStatementAfterIf.invalid.mj correct
[SUCCESS] syntax:MainMethodWithoutPublic.invalid.mj correct
[SUCCESS] syntax:ManyBraces.valid.mj correct
[SUCCESS] syntax:ManyParentheses.valid.mj correct
[SUCCESS] syntax:MethodInvocation.valid.mj correct
[SUCCESS] syntax:MethodInvocationArrayAccess.valid.mj correct
[SUCCESS] syntax:MethodWithoutPublic.invalid.mj correct
[SUCCESS] syntax:MinusMinus.invalid.mj correct
[SUCCESS] syntax:MissingPrimaryExpr.invalid.mj correct
[SUCCESS] syntax:MissingStringParamMainMethod.invalid.mj correct
[SUCCESS] syntax:MultiDimensionalArrays.mj correct
[SUCCESS] syntax:MultipleReturnStatements.valid.mj correct
[SUCCESS] syntax:NegativeIntegerLiterals.mj correct
[SUCCESS] syntax:NestedComments.invalid.mj correct
[SUCCESS] syntax:NewArrayEmpty.invalid.mj correct
[SUCCESS] syntax:NewArrayWithAccess1.invalid.mj correct
[SUCCESS] syntax:NewArrayWithAccess1.valid.mj correct
[SUCCESS] syntax:NewArrayWithAccess2.invalid.mj correct
[SUCCESS] syntax:NewArrayWithAccess2.valid.mj correct
[SUCCESS] syntax:NoTernaryOp.invalid.mj correct
[SUCCESS] syntax:NotNot.valid.mj correct
[SUCCESS] syntax:OpeningComment.invalid.mj correct
[SUCCESS] syntax:ParametersTrailingComma.invalid.mj correct
[SUCCESS] syntax:PostfixOP.mj correct
[SUCCESS] syntax:PrefixIncrement.invalid.mj correct
[SUCCESS] syntax:PrivateMethod.invalid.mj correct
[SUCCESS] syntax:ReceiverParameter.invalid.mj correct
[SUCCESS] syntax:ReturnWhile.invalid.mj correct
[SUCCESS] syntax:SimpleMethodCall.valid.mj correct
[SUCCESS] syntax:SpecialMethod.mj correct
[SUCCESS] syntax:StaticInt.invalid.mj correct
[SUCCESS] syntax:StringIsValidVarType.valid.mj correct
[SUCCESS] syntax:ThrowsWithIdent.valid.mj correct
[SUCCESS] syntax:TwoClasses.valid.mj correct
[SUCCESS] syntax:UnaryExpressions.mj correct
[SUCCESS] syntax:UnaryMinusAfterBinOp.valid.mj correct
[SUCCESS] syntax:UnderscoreNamesTypes.mj correct
[SUCCESS] syntax:Unicode.invalid.mj correct
[SUCCESS] syntax:UseFor.invalid.mj correct
[SUCCESS] syntax:ValidIdentifier.valid.mj correct
[SUCCESS] syntax:ValidSyntaxInvalidSemantics.mj correct
[SUCCESS] syntax:WeirdNewArraySyntax.valid.mj correct
[SUCCESS] syntax:WhileWithSemicolon.valid.mj correct
[SUCCESS] syntax:WildValidSyntax.mj correct
----------------------------------------
All 77 run tests succeeded
Running ast tests
[SUCCESS] ast:AccessChain.valid.mj correct
[SUCCESS] ast:Add.valid.mj correct
[SUCCESS] ast:ArrayAccess.valid.mj correct
[SUCCESS] ast:AssignmentExpressionStatementAfterIf.valid.mj correct
[SUCCESS] ast:BlockStatement.mj correct
[SUCCESS] ast:Braces.valid.mj correct
[SUCCESS] ast:ComplexExpression.valid.mj correct
[SUCCESS] ast:DeeplyNestedCalc.valid.mj correct
[SUCCESS] ast:DerCompilerMain.valid.mj correct
[SUCCESS] ast:Empty.valid.mj correct
[SUCCESS] ast:EmptyClassNamedStaticMethod.mj correct
[SUCCESS] ast:EveryPossibleLanguageConstruct.valid.mj correct
[SUCCESS] ast:Foo.valid.mj correct
[SUCCESS] ast:FullClass.valid.mj correct
[SUCCESS] ast:HelloWorld.mj correct
[SUCCESS] ast:IfWhileNoBraces.valid.mj correct
[SUCCESS] ast:ManyBraces.valid.mj correct
[SUCCESS] ast:ManyParentheses.valid.mj correct
[SUCCESS] ast:MethodInvocation.valid.mj correct
[SUCCESS] ast:MethodInvocationArrayAccess.valid.mj correct
[SUCCESS] ast:MultiDimensionalArrays.mj correct
[SUCCESS] ast:MultipleReturnStatements.valid.mj correct
[SUCCESS] ast:NegativeIntegerLiterals.mj correct
[SUCCESS] ast:NewArrayWithAccess1.valid.mj correct
[SUCCESS] ast:NewArrayWithAccess2.valid.mj correct
[SUCCESS] ast:NotNot.valid.mj correct
[SUCCESS] ast:PostfixOP.mj correct
[SUCCESS] ast:SimpleMethodCall.valid.mj correct
[SUCCESS] ast:SpecialMethod.mj correct
[SUCCESS] ast:StringIsValidVarType.valid.mj correct
[SUCCESS] ast:ThrowsWithIdent.valid.mj correct
[SUCCESS] ast:TwoClasses.valid.mj correct
[SUCCESS] ast:UnaryExpressions.mj correct
[SUCCESS] ast:UnaryMinusAfterBinOp.valid.mj correct
[SUCCESS] ast:UnderscoreNamesTypes.mj correct
[SUCCESS] ast:ValidIdentifier.valid.mj correct
[SUCCESS] ast:ValidSyntaxInvalidSemantics.mj correct
[SUCCESS] ast:WeirdNewArraySyntax.valid.mj correct
[SUCCESS] ast:WhileWithSemicolon.valid.mj correct
[SUCCESS] ast:WildValidSyntax.mj correct
----------------------------------------
All 40 run tests succeeded
Running semantic tests
[SUCCESS] semantic:AcceptableConstants.valid.mj correct
[SUCCESS] semantic:ArgsOtherScope.valid.mj correct
[SUCCESS] semantic:ArgsUsageInBody.invalid.mj correct
[SUCCESS] semantic:ArrayAcces.valid.mj correct
[SUCCESS] semantic:ArrayAccessInExpressionStatement.invalid.mj correct
[SUCCESS] semantic:ArrayAccessOnNonArray.invalid.mj correct
[SUCCESS] semantic:ArrayAccessTooDeep.invalid.mj correct
[SUCCESS] semantic:ArrayLengthIsNotAllowed.invalid.mj correct
[SUCCESS] semantic:ArrayReturnType.valid.mj correct
[SUCCESS] semantic:AssignNullToBoolean.invalid.mj correct
[SUCCESS] semantic:AssignNullToInt.invalid.mj correct
[SUCCESS] semantic:AssignToBinaryOperator.invalid.mj correct
[SUCCESS] semantic:AssignToBooleanLiteral.invalid.mj correct
[SUCCESS] semantic:AssignToIntLiteral.invalid.mj correct
[SUCCESS] semantic:AssignToLValue.valid.mj correct
[SUCCESS] semantic:AssignToMethodCall.invalid.mj correct
[SUCCESS] semantic:AssignToNewObjectExpr.invalid.mj correct
[SUCCESS] semantic:AssignToThis.invalid.mj correct
[SUCCESS] semantic:AssignToUnaryOperator.invalid.mj correct
[SUCCESS] semantic:AssigningBooleanToInt.invalid.mj correct
[SUCCESS] semantic:AssignmentInCondition.valid.mj correct
[SUCCESS] semantic:AssignmentToAssigment.invalid.mj correct
[SUCCESS] semantic:AssignmentToMethodInvocation.invalid.mj correct
[SUCCESS] semantic:AssignmentToSum.invalid.mj correct
[SUCCESS] semantic:BareMain.valid.mj correct
[SUCCESS] semantic:BoolAssignmentInIf.valid.mj correct
[SUCCESS] semantic:BraceForImpactWithBraces.valid.mj correct
[SUCCESS] semantic:Brainfuck.valid.mj correct
[SUCCESS] semantic:CallingLocalMethodInStaticContext.invalid.mj correct
[SUCCESS] semantic:CallingMainMethod.invalid.mj correct
[SUCCESS] semantic:CallingMainMethod2.invalid.mj correct
[SUCCESS] semantic:CallingMainMethodInStaticContext.invalid.mj correct
[SUCCESS] semantic:CallingMethodOnNonObject.invalid.mj correct
[SUCCESS] semantic:ChainedAccess.valid.mj correct
[SUCCESS] semantic:ClassNameCollision.invalid.mj correct
[SUCCESS] semantic:CompareNullWithBoolean.invalid.mj correct
[SUCCESS] semantic:CompareNullWithInteger.invalid.mj correct
[SUCCESS] semantic:CompareRefWithNull.valid.mj correct
[SUCCESS] semantic:CompilerBuiltins.valid.mj correct
[SUCCESS] semantic:CompilerBuiltinsOverriding1.valid.mj correct
[SUCCESS] semantic:CompilerBuiltinsOverriding2.valid.mj correct
[SUCCESS] semantic:CompilerBuiltinsOverriding3.valid.mj correct
[SUCCESS] semantic:CompilerBuiltinsOverriding4.invalid.mj correct
[SUCCESS] semantic:ConstantTooLarge.invalid.mj correct
[SUCCESS] semantic:ConstantTooSmall.invalid.mj correct
[SUCCESS] semantic:CreatingNewStringObject.invalid.mj correct
[SUCCESS] semantic:DeclaringClassString.invalid.mj correct
[SUCCESS] semantic:DisallowedMethodOverloading.invalid.mj correct
[SUCCESS] semantic:DisjunctNameSpaces.valid.mj correct
[SUCCESS] semantic:DuplicateFieldAndMethodNames.valid.mj correct
[SUCCESS] semantic:DuplicateFieldNames.invalid.mj correct
[SUCCESS] semantic:DuplicateFields.invalid.mj correct
[SUCCESS] semantic:DuplicateLocalVar.invalid.mj correct
[SUCCESS] semantic:DuplicateLocalVarInIf.invalid.mj correct
[SUCCESS] semantic:DuplicateMethodNames.invalid.mj correct
[SUCCESS] semantic:DuplicateParameter.invalid.mj correct
[SUCCESS] semantic:DuplicateParams.invalid.mj correct
[SUCCESS] semantic:DuplicateVariableNames.invalid.mj correct
[SUCCESS] semantic:DuplicateVariableNames.valid.mj correct
[SUCCESS] semantic:DuplicateVariableNames2.invalid.mj correct
[SUCCESS] semantic:DuplicateVariableNames3.invalid.mj correct
[SUCCESS] semantic:DuplicateVariableNames4.invalid.mj correct
[SUCCESS] semantic:DuplicateVariableNamesInnerScopes.invalid.mj correct
[SUCCESS] semantic:DynamicCallingMain.invalid.mj correct
[SUCCESS] semantic:EmptyFile.invalid.mj correct
[SUCCESS] semantic:ExpressionStatementWithoutSideEffects.invalid.mj correct
[SUCCESS] semantic:ExpressionStatementWithoutSideEffects2.invalid.mj correct
[SUCCESS] semantic:ExpressionStatementWithoutSideEffects3.invalid.mj correct
[SUCCESS] semantic:ExpressionStatementWithoutSideEffects4.invalid.mj correct
[SUCCESS] semantic:ExpressionStatementWithoutSideEffects5.invalid.mj correct
[SUCCESS] semantic:ExpressionStatementsWithSideEffects.valid.mj correct
[SUCCESS] semantic:Fibonacci.valid.mj correct
[SUCCESS] semantic:FibonacciViaLocalVars.valid.mj correct
[SUCCESS] semantic:FibonacciViaRecursion.valid.mj correct
[SUCCESS] semantic:FieldAccessInMainMethod.invalid.mj correct
[SUCCESS] semantic:FieldAccessOnNonObject.invalid.mj correct
[SUCCESS] semantic:FieldMethodParameterSameName.valid.mj correct
[SUCCESS] semantic:FieldNameCollision.invalid.mj correct
[SUCCESS] semantic:FlushInStream.invalid.mj correct
[SUCCESS] semantic:FlushReturnValueUsed.invalid.mj correct
[SUCCESS] semantic:FlushWithArg.invalid.mj correct
[SUCCESS] semantic:FlushWithParameters.invalid.mj correct
[SUCCESS] semantic:FunctionWIthoutReturn.invalid.mj correct
[SUCCESS] semantic:GameOfLife.valid.mj correct
[SUCCESS] semantic:IndefiniteAssignment.valid.mj correct
[SUCCESS] semantic:IntAssignmentInIf.invalid.mj correct
[SUCCESS] semantic:IntegerInConditions.invalid.mj correct
[SUCCESS] semantic:InvalidArrayIndex.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment1.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment10.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment11.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment12.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment2.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment3.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment4.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment5.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment6.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment7.invalid.mj correct
[SUCCESS] semantic:InvalidAssignment9.invalid.mj correct
[SUCCESS] semantic:InvalidMethodInvocation.invalid.mj correct
[SUCCESS] semantic:InvalidTypeOnAssignment.invalid.mj correct
[SUCCESS] semantic:InvalidVoid1.invalid.mj correct
[SUCCESS] semantic:InvalidVoid2.invalid.mj correct
[SUCCESS] semantic:InvalidVoid3.invalid.mj correct
[SUCCESS] semantic:LValues.valid.mj correct
[SUCCESS] semantic:LargeIntegerLiteral.invalid.mj correct
[SUCCESS] semantic:LargeIntegerLiterals.valid.mj correct
[SUCCESS] semantic:LargeNegativeIntegerLiteral.invalid.mj correct
[SUCCESS] semantic:LargeNegativeIntegerLiteral.valid.mj correct
[SUCCESS] semantic:LegalOverride.valid.mj correct
[SUCCESS] semantic:LocalVariableArgs.invalid.mj correct
[SUCCESS] semantic:LogicalNotForInteger1.invalid.mj correct
[SUCCESS] semantic:LogicalNotForInteger2.invalid.mj correct
[SUCCESS] semantic:LvalueInParenthesesAssigned.valid.mj correct
[SUCCESS] semantic:MainCallingMain.invalid.mj correct
[SUCCESS] semantic:MainMethodArgUsageNotNamedArgs.invalid.mj correct
[SUCCESS] semantic:MainMethodCalled.invalid.mj correct
[SUCCESS] semantic:MainMethodWithWrongName.invalid.mj correct
[SUCCESS] semantic:MainMethodWithWrongParamType.invalid.mj correct
[SUCCESS] semantic:MainMethodWithoutStatic.invalid.mj correct
[SUCCESS] semantic:MethodMissingReturn.invalid.mj correct
[SUCCESS] semantic:MethodMissingReturn2.invalid.mj correct
[SUCCESS] semantic:MethodMissingReturn3.invalid.mj correct
[SUCCESS] semantic:MethodMissingReturn4.invalid.mj correct
[SUCCESS] semantic:MethodMissingReturn5.invalid.mj correct
[SUCCESS] semantic:MethodNameCollision.invalid.mj correct
[SUCCESS] semantic:MethodNotMissingReturn.valid.mj correct
[SUCCESS] semantic:MethodNotMissingReturn2.valid.mj correct
[SUCCESS] semantic:MethodNotMissingReturn3.valid.mj correct
[SUCCESS] semantic:MethodNotMissingReturn4.valid.mj correct
[SUCCESS] semantic:MethodNotMissingReturn5.valid.mj correct
[SUCCESS] semantic:MissingMainMethod.invalid.mj correct
[SUCCESS] semantic:MissingMainMethod2.invalid.mj correct
[SUCCESS] semantic:MissingMethod.invalid.mj correct
[SUCCESS] semantic:MissingReturn1.invalid.mj correct
[SUCCESS] semantic:MissingReturn2.invalid.mj correct
[SUCCESS] semantic:MissingReturn3.invalid.mj correct
[SUCCESS] semantic:MissingReturn4.invalid.mj correct
[SUCCESS] semantic:MissingReturn5.invalid.mj correct
[SUCCESS] semantic:MissingReturn6.valid.mj correct
[SUCCESS] semantic:MissingReturnIf.invalid.mj correct
[SUCCESS] semantic:MultipleInstanciations.invalid.mj correct
[SUCCESS] semantic:MultipleMainMethods.invalid.mj correct
[SUCCESS] semantic:NameSpacingTest.valid.mj correct
[SUCCESS] semantic:NewArrayExprInExprStatement.invalid.mj correct
[SUCCESS] semantic:NewObjectExprInExprStatement.invalid.mj correct
[SUCCESS] semantic:NoMainMethod.invalid.mj correct
[SUCCESS] semantic:Overflow.valid.mj correct
[SUCCESS] semantic:OverloadedMethod.invalid.mj correct
[SUCCESS] semantic:PrimeSieve.valid.mj correct
[SUCCESS] semantic:PrintBoolean.invalid.mj correct
[SUCCESS] semantic:PrintlnBoolean.invalid.mj correct
[SUCCESS] semantic:PrintlnNoArgs.invalid.mj correct
[SUCCESS] semantic:PrintlnWrongSignature.invalid.mj correct
[SUCCESS] semantic:RedefinitionOfString.invalid.mj correct
[SUCCESS] semantic:ReturnType1.invalid.mj correct
[SUCCESS] semantic:ReturnType2.invalid.mj correct
[SUCCESS] semantic:SameNames.invalid.mj correct
[SUCCESS] semantic:ShadowFieldName.valid.mj correct
[SUCCESS] semantic:ShadowStdlibViaClass.invalid.mj correct
[SUCCESS] semantic:ShadowStdlibViaField.invalid.mj correct
[SUCCESS] semantic:ShadowStdlibViaField2.invalid.mj correct
[SUCCESS] semantic:ShadowStdlibViaLocalVar.invalid.mj correct
[SUCCESS] semantic:ShadowStdlibViaMethod.valid.mj correct
[SUCCESS] semantic:ShadowStdlibViaParameter.invalid.mj correct
[SUCCESS] semantic:ShadowSystemOutToBool.valid.mj correct
[SUCCESS] semantic:ShadowedField.valid.mj correct
[SUCCESS] semantic:ShadowedLocalVariable.invalid.mj correct
[SUCCESS] semantic:ShadowedParamter.invalid.mj correct
[SUCCESS] semantic:SquareRectangle.valid.mj correct
[SUCCESS] semantic:StaticAndNonStaticMain1.invalid.mj correct
[SUCCESS] semantic:StaticAndNonStaticMain2.valid.mj correct
[SUCCESS] semantic:StdlibCalls.valid.mj correct
[SUCCESS] semantic:StringArray.valid.mj correct
[SUCCESS] semantic:StringClass.invalid.mj correct
[SUCCESS] semantic:StringClass2.invalid.mj correct
[SUCCESS] semantic:StringConstruction.invalid.mj correct
[SUCCESS] semantic:StringInstantiation.invalid.mj correct
[SUCCESS] semantic:StringObjectCreationNotAllowed.invalid.mj correct
[SUCCESS] semantic:StringUsages.valid.mj correct
[SUCCESS] semantic:StringVariable.valid.mj correct
[SUCCESS] semantic:StringVariableDeclaration.valid.mj correct
[SUCCESS] semantic:System.valid.mj correct
[SUCCESS] semantic:SystemAssignment.invalid.mj correct
[SUCCESS] semantic:SystemInReturnValue.valid.mj correct
[SUCCESS] semantic:SystemIsNotIntrinsicClass.invalid.mj correct
[SUCCESS] semantic:SystemOutWrite.valid.mj correct
[SUCCESS] semantic:ThisInStatic.invalid.mj correct
[SUCCESS] semantic:ThisInStaticContext.invalid.mj correct
[SUCCESS] semantic:Throws.valid.mj correct
[SUCCESS] semantic:TooLargeNegativeIntegerLiteral.invalid.mj correct
[SUCCESS] semantic:TooLargePositiveIntegerLiteral.invalid.mj correct
[SUCCESS] semantic:TwoPublicStaticMethods.invalid.mj correct
[SUCCESS] semantic:TypeErrorOnSystemOutPrintln.invalid.mj correct
[SUCCESS] semantic:TypesNamesComplicated.valid.mj correct
[SUCCESS] semantic:Underflow.valid.mj correct
[SUCCESS] semantic:Unlambda.valid.mj correct
[SUCCESS] semantic:UseArgs.invalid.mj correct
[SUCCESS] semantic:UseBeforeDef.valid.mj correct
[SUCCESS] semantic:UseBeforeDefine.invalid.mj correct
[SUCCESS] semantic:UseBeforeDefineField.invalid.mj correct
[SUCCESS] semantic:UseScopes.valid.mj correct
[SUCCESS] semantic:UseShadowedSystemClass.invalid.mj correct
[SUCCESS] semantic:UsingLocalVariableInDeclaration.valid.mj correct
[SUCCESS] semantic:UsingLocalVariableInDeclaration2.valid.mj correct
[SUCCESS] semantic:UsingLocalVariableInDeclaration3.valid.mj correct
[SUCCESS] semantic:UsingUnknownClass.invalid.mj correct
[SUCCESS] semantic:UsingUnknownField.invalid.mj correct
[SUCCESS] semantic:UsingUnknownFieldOrLocalVar.invalid.mj correct
[SUCCESS] semantic:UsingUnknownLocalVar.invalid.mj correct
[SUCCESS] semantic:UsingUnknownMethod.invalid.mj correct
[SUCCESS] semantic:UsingVoidInappropriately.invalid.mj correct
[SUCCESS] semantic:UsingVoidInappropriately2.invalid.mj correct
[SUCCESS] semantic:UsingVoidInappropriately3.invalid.mj correct
[SUCCESS] semantic:UsingVoidInappropriately4.invalid.mj correct
[SUCCESS] semantic:ValidReturn.valid.mj correct
[SUCCESS] semantic:ValidStringUse.valid.mj correct
[SUCCESS] semantic:WriteBoolean.invalid.mj correct
[SUCCESS] semantic:WrongArrayAccess.invalid.mj correct
[SUCCESS] semantic:WrongMainParameter.invalid.mj correct
[SUCCESS] semantic:WrongReturnValue.invalid.mj correct
[SUCCESS] semantic:WrongScope.invalid.mj correct
----------------------------------------
All 222 run tests succeeded
Running compile-firm-only tests
[SUCCESS] compile-firm-only:AcceptableConstants.valid.mj correct
[SUCCESS] compile-firm-only:ArgsOtherScope.valid.mj correct
[SUCCESS] compile-firm-only:ArrayAcces.valid.mj correct
[SUCCESS] compile-firm-only:ArrayReturnType.valid.mj correct
[SUCCESS] compile-firm-only:AssignToLValue.valid.mj correct
[SUCCESS] compile-firm-only:AssignmentInCondition.valid.mj correct
[SUCCESS] compile-firm-only:BareMain.valid.mj correct
[SUCCESS] compile-firm-only:BoolAssignmentInIf.valid.mj correct
[SUCCESS] compile-firm-only:BraceForImpactWithBraces.valid.mj correct
[SUCCESS] compile-firm-only:Brainfuck.valid.mj correct
[SUCCESS] compile-firm-only:ChainedAccess.valid.mj correct
[SUCCESS] compile-firm-only:CompareRefWithNull.valid.mj correct
[SUCCESS] compile-firm-only:CompilerBuiltins.valid.mj correct
[SUCCESS] compile-firm-only:CompilerBuiltinsOverriding1.valid.mj correct
[SUCCESS] compile-firm-only:CompilerBuiltinsOverriding2.valid.mj correct
[SUCCESS] compile-firm-only:CompilerBuiltinsOverriding3.valid.mj correct
[SUCCESS] compile-firm-only:DisjunctNameSpaces.valid.mj correct
[SUCCESS] compile-firm-only:DuplicateFieldAndMethodNames.valid.mj correct
[SUCCESS] compile-firm-only:DuplicateVariableNames.valid.mj correct
[SUCCESS] compile-firm-only:ExpressionStatementsWithSideEffects.valid.mj correct
[SUCCESS] compile-firm-only:Fibonacci.valid.mj correct
[SUCCESS] compile-firm-only:FibonacciViaLocalVars.valid.mj correct
[SUCCESS] compile-firm-only:FibonacciViaRecursion.valid.mj correct
[SUCCESS] compile-firm-only:FieldMethodParameterSameName.valid.mj correct
[SUCCESS] compile-firm-only:GameOfLife.valid.mj correct
[SUCCESS] compile-firm-only:IndefiniteAssignment.valid.mj correct
[SUCCESS] compile-firm-only:LValues.valid.mj correct
[SUCCESS] compile-firm-only:LargeIntegerLiterals.valid.mj correct
[SUCCESS] compile-firm-only:LargeNegativeIntegerLiteral.valid.mj correct
[SUCCESS] compile-firm-only:LegalOverride.valid.mj correct
[SUCCESS] compile-firm-only:LvalueInParenthesesAssigned.valid.mj correct
[SUCCESS] compile-firm-only:MethodNotMissingReturn.valid.mj correct
[SUCCESS] compile-firm-only:MethodNotMissingReturn2.valid.mj correct
[SUCCESS] compile-firm-only:MethodNotMissingReturn3.valid.mj correct
[SUCCESS] compile-firm-only:MethodNotMissingReturn4.valid.mj correct
[SUCCESS] compile-firm-only:MethodNotMissingReturn5.valid.mj correct
[SUCCESS] compile-firm-only:MissingReturn6.valid.mj correct
[SUCCESS] compile-firm-only:NameSpacingTest.valid.mj correct
[SUCCESS] compile-firm-only:Overflow.valid.mj correct
[SUCCESS] compile-firm-only:PrimeSieve.valid.mj correct
[SUCCESS] compile-firm-only:ShadowFieldName.valid.mj correct
[SUCCESS] compile-firm-only:ShadowStdlibViaMethod.valid.mj correct
[SUCCESS] compile-firm-only:ShadowSystemOutToBool.valid.mj correct
[SUCCESS] compile-firm-only:ShadowedField.valid.mj correct
[SUCCESS] compile-firm-only:SquareRectangle.valid.mj correct
[SUCCESS] compile-firm-only:StaticAndNonStaticMain2.valid.mj correct
[SUCCESS] compile-firm-only:StdlibCalls.valid.mj correct
[SUCCESS] compile-firm-only:StringArray.valid.mj correct
[SUCCESS] compile-firm-only:StringUsages.valid.mj correct
[SUCCESS] compile-firm-only:StringVariable.valid.mj correct
[SUCCESS] compile-firm-only:StringVariableDeclaration.valid.mj correct
[SUCCESS] compile-firm-only:System.valid.mj correct
[SUCCESS] compile-firm-only:SystemInReturnValue.valid.mj correct
[SUCCESS] compile-firm-only:SystemOutWrite.valid.mj correct
[SUCCESS] compile-firm-only:Throws.valid.mj correct
[SUCCESS] compile-firm-only:TypesNamesComplicated.valid.mj correct
[SUCCESS] compile-firm-only:Underflow.valid.mj correct
[SUCCESS] compile-firm-only:Unlambda.valid.mj correct
[SUCCESS] compile-firm-only:UseBeforeDef.valid.mj correct
[SUCCESS] compile-firm-only:UseScopes.valid.mj correct
[SUCCESS] compile-firm-only:UsingLocalVariableInDeclaration.valid.mj correct
[SUCCESS] compile-firm-only:UsingLocalVariableInDeclaration2.valid.mj correct
[SUCCESS] compile-firm-only:UsingLocalVariableInDeclaration3.valid.mj correct
[SUCCESS] compile-firm-only:ValidReturn.valid.mj correct
[SUCCESS] compile-firm-only:ValidStringUse.valid.mj correct
[SUCCESS] compile-firm-only:AndiTest2.java correct
[SUCCESS] compile-firm-only:FirmInfLoop.java correct
[SUCCESS] compile-firm-only:NestedInfiniteLoops.java correct
[SUCCESS] compile-firm-only:Sudoku.java correct
[SUCCESS] compile-firm-only:UbAssignmentInCondition.mj correct
[SUCCESS] compile-firm-only:UbLoopFun.mj correct
[SUCCESS] compile-firm-only:UbSimpleArrayDeref.mj correct
[SUCCESS] compile-firm-only:UnreachableReturn.mj correct
----------------------------------------
All 73 run tests succeeded
Running compile-only tests
[SUCCESS] compile-only:AndiTest2.java correct
[SUCCESS] compile-only:FirmInfLoop.java correct
[SUCCESS] compile-only:NestedInfiniteLoops.java correct
[SUCCESS] compile-only:Sudoku.java correct
[SUCCESS] compile-only:UbAssignmentInCondition.mj correct
[SUCCESS] compile-only:UbLoopFun.mj correct
[SUCCESS] compile-only:UbSimpleArrayDeref.mj correct
[SUCCESS] compile-only:UnreachableReturn.mj correct
[SUCCESS] compile-only:AcceptableConstants.valid.mj correct
[SUCCESS] compile-only:ArgsOtherScope.valid.mj correct
[SUCCESS] compile-only:ArrayAcces.valid.mj correct
[SUCCESS] compile-only:ArrayReturnType.valid.mj correct
[FAIL ] compile-only:AssignToLValue.valid.mj file can't be compiled
Report for failing test case AssignToLValue.valid.mj
File can't be compiled
Error code: 69
Error output:
[0001] [TRF01010] warning: This program references a static null pointer at nodeAdd P[87:23]
[0002] [TRF01010] warning: This program references a static null pointer at node Store T[89:25]
[0003] [TRF01010] warning: This program references a static null pointer at nodeAdd P[97:33]
[0004] [TRF01010] warning: This program references a static null pointer at nodeAdd P[124:60]
[0005] [TRF01010] warning: This program references a static null pointer at nodeAdd P[151:87]
[0006] [TRF01010] warning: This program references a static null pointer at nodeAdd P[169:105]
[0007] [TRF01010] warning: This program references a static null pointer at nodeAdd P[187:123]
[0008] [TRF01010] warning: This program references a static null pointer at node Store T[189:125]
[0009] [TRF01010] warning: This program references a static null pointer at nodeAdd P[196:132]
[0010] [TRF01010] warning: This program references a static null pointer at node Store T[198:134]
[0011] [TRF01010] warning: This program references a static null pointer at nodeAdd P[87:23]
[0012] [TRF01010] warning: This program references a static null pointer at node Store T[89:25]
[0013] [TRF01010] warning: This program references a static null pointer at nodeAdd P[97:33]
[0014] [TRF01010] warning: This program references a static null pointer at nodeAdd P[124:60]
[0015] [TRF01010] warning: This program references a static null pointer at nodeAdd P[151:87]
[0016] [TRF01010] warning: This program references a static null pointer at nodeAdd P[169:105]
[0017] [TRF01010] warning: This program references a static null pointer at nodeAdd P[187:123]
[0018] [TRF01010] warning: This program references a static null pointer at node Store T[189:125]
[0019] [TRF01010] warning: This program references a static null pointer at nodeAdd P[196:132]
[0020] [TRF01010] warning: This program references a static null pointer at node Store T[198:134]
[0021] [TRF01010] warning: This program references a static null pointer at node Store T[89:25]
[0022] [TRF01010] warning: This program references a static null pointer at node Store T[189:125]
[0023] [TRF01010] warning: This program references a static null pointer at node Store T[198:134]
[0024] [TRF01010] warning: This program references a static null pointer at nodeAdd P[87:23]
[0025] [TRF01010] warning: This program references a static null pointer at nodeAdd P[97:33]
[0026] [TRF01010] warning: This program references a static null pointer at nodeAdd P[124:60]
[0027] [TRF01010] warning: This program references a static null pointer at nodeAdd P[151:87]
[0028] [TRF01010] warning: This program references a static null pointer at nodeAdd P[169:105]
[0029] [TRF01010] warning: This program references a static null pointer at nodeAdd P[187:123]
[0030] [TRF01010] warning: This program references a static null pointer at nodeAdd P[196:132]
[0031] [GEN00110] error: gcc for runtime failed:
[0032] Gcc returned:
[0033] AssignToLValue.S: Assembler messages:
[0034] AssignToLValue.S:14: Error: operand type mismatch for `lea'
[0035] AssignToLValue.S:19: Error: operand type mismatch for `lea'
[0036] AssignToLValue.S:46: Error: operand type mismatch for `lea'
[0037] AssignToLValue.S:74: Error: operand type mismatch for `lea'
[0038] AssignToLValue.S:90: Error: operand type mismatch for `lea'
[0039] AssignToLValue.S:107: Error: operand type mismatch for `lea'
[0040] AssignToLValue.S:112: Error: operand type mismatch for `lea'
[0041]
[0042]
Output:
Source file:
[0001] class Foo {
[0002]
[0003] public boolean field;
[0004]
[0005] public void foo(int a) {
[0006] a = 10;
[0007] field = true;
[0008]
[0009] int[] b;
[0010] b[10] = 100;
[0011]
[0012] Foo[][][] nest;
[0013] Foo[][] nestOneLess;
[0014] Foo[] nestTwoLess;
[0015] Foo nestThreeLess;
[0016]
[0017] nest[2][2][2] = null;
[0018] nest[2][2][2] = nestThreeLess;
[0019]
[0020] nest[2][2] = null;
[0021] nest[2][2] = nestTwoLess;
[0022]
[0023] nest[2] = null;
[0024] nest[2] = nestOneLess;
[0025]
[0026] nest = null;
[0027] nest = nest;
[0028] }
[0029]
[0030] public static void main(String[] args) {
[0031] int a;
[0032] a = 20;
[0033] }
[0034] }
[SUCCESS] compile-only:AssignmentInCondition.valid.mj correct
[SUCCESS] compile-only:BareMain.valid.mj correct
[SUCCESS] compile-only:BoolAssignmentInIf.valid.mj correct
[SUCCESS] compile-only:BraceForImpactWithBraces.valid.mj correct
[SUCCESS] compile-only:Brainfuck.valid.mj correct
[SUCCESS] compile-only:ChainedAccess.valid.mj correct
[SUCCESS] compile-only:CompareRefWithNull.valid.mj correct
[SUCCESS] compile-only:CompilerBuiltins.valid.mj correct
[SUCCESS] compile-only:CompilerBuiltinsOverriding1.valid.mj correct
[SUCCESS] compile-only:CompilerBuiltinsOverriding2.valid.mj correct
[SUCCESS] compile-only:CompilerBuiltinsOverriding3.valid.mj correct
[SUCCESS] compile-only:DisjunctNameSpaces.valid.mj correct
[SUCCESS] compile-only:DuplicateFieldAndMethodNames.valid.mj correct
[SUCCESS] compile-only:DuplicateVariableNames.valid.mj correct
[SUCCESS] compile-only:ExpressionStatementsWithSideEffects.valid.mj correct
[SUCCESS] compile-only:Fibonacci.valid.mj correct
[SUCCESS] compile-only:FibonacciViaLocalVars.valid.mj correct
[SUCCESS] compile-only:FibonacciViaRecursion.valid.mj correct
[SUCCESS] compile-only:FieldMethodParameterSameName.valid.mj correct
[SUCCESS] compile-only:GameOfLife.valid.mj correct
[SUCCESS] compile-only:IndefiniteAssignment.valid.mj correct
[SUCCESS] compile-only:LValues.valid.mj correct
[SUCCESS] compile-only:LargeIntegerLiterals.valid.mj correct
[SUCCESS] compile-only:LargeNegativeIntegerLiteral.valid.mj correct
[SUCCESS] compile-only:LegalOverride.valid.mj correct
[SUCCESS] compile-only:LvalueInParenthesesAssigned.valid.mj correct
[SUCCESS] compile-only:MethodNotMissingReturn.valid.mj correct
[SUCCESS] compile-only:MethodNotMissingReturn2.valid.mj correct
[SUCCESS] compile-only:MethodNotMissingReturn3.valid.mj correct
[SUCCESS] compile-only:MethodNotMissingReturn4.valid.mj correct
[SUCCESS] compile-only:MethodNotMissingReturn5.valid.mj correct
[SUCCESS] compile-only:MissingReturn6.valid.mj correct
[SUCCESS] compile-only:NameSpacingTest.valid.mj correct
[SUCCESS] compile-only:Overflow.valid.mj correct
[SUCCESS] compile-only:PrimeSieve.valid.mj correct
[SUCCESS] compile-only:ShadowFieldName.valid.mj correct
[SUCCESS] compile-only:ShadowStdlibViaMethod.valid.mj correct
[SUCCESS] compile-only:ShadowSystemOutToBool.valid.mj correct
[SUCCESS] compile-only:ShadowedField.valid.mj correct
[SUCCESS] compile-only:SquareRectangle.valid.mj correct
[SUCCESS] compile-only:StaticAndNonStaticMain2.valid.mj correct
[SUCCESS] compile-only:StdlibCalls.valid.mj correct
[SUCCESS] compile-only:StringArray.valid.mj correct
[SUCCESS] compile-only:StringUsages.valid.mj correct
[SUCCESS] compile-only:StringVariable.valid.mj correct
[SUCCESS] compile-only:StringVariableDeclaration.valid.mj correct
[SUCCESS] compile-only:System.valid.mj correct
[SUCCESS] compile-only:SystemInReturnValue.valid.mj correct
[SUCCESS] compile-only:SystemOutWrite.valid.mj correct
[SUCCESS] compile-only:Throws.valid.mj correct
[SUCCESS] compile-only:TypesNamesComplicated.valid.mj correct
[SUCCESS] compile-only:Underflow.valid.mj correct
[SUCCESS] compile-only:Unlambda.valid.mj correct
[SUCCESS] compile-only:UseBeforeDef.valid.mj correct
[SUCCESS] compile-only:UseScopes.valid.mj correct
[SUCCESS] compile-only:UsingLocalVariableInDeclaration.valid.mj correct
[SUCCESS] compile-only:UsingLocalVariableInDeclaration2.valid.mj correct
[SUCCESS] compile-only:UsingLocalVariableInDeclaration3.valid.mj correct
[SUCCESS] compile-only:ValidReturn.valid.mj correct
[SUCCESS] compile-only:ValidStringUse.valid.mj correct
----------------------------------------
Ran 73 tests, of which 1 failed.
A full report for each test can be found at ../../../mjtest/reports/08-02-22_13-26-11_compile-only.failed
Running compile-firm tests
[SUCCESS] compile-firm:Ackermann.java correct
[SUCCESS] compile-firm:AllocEmpty.java correct
[SUCCESS] compile-firm:AllocEmpty2.java correct
[SUCCESS] compile-firm:AlphabeticalRegisterTransfer.java correct
[SUCCESS] compile-firm:AndiTest1.java correct
[SUCCESS] compile-firm:AndiTest3.java correct
[SUCCESS] compile-firm:AndiTest4.java correct
[SUCCESS] compile-firm:AocDay01.0.inputc correct
[SUCCESS] compile-firm:Arithmetic.java correct
[SUCCESS] compile-firm:ArrayIndexEvaluationOrder.java correct
[SUCCESS] compile-firm:ArrayList.java correct
[SUCCESS] compile-firm:Arrays.java correct
[SUCCESS] compile-firm:AssignmentEvaluationOrder.java correct
[SUCCESS] compile-firm:AssignmentExpressionAsParam.java correct
[SUCCESS] compile-firm:AssignmentInCondition.java correct
[SUCCESS] compile-firm:AssignmentReturnValue.java correct
[SUCCESS] compile-firm:AssignmentTest.java correct
[SUCCESS] compile-firm:Base64.0.inputc correct
[SUCCESS] compile-firm:BinaryMultiply.java correct
[SUCCESS] compile-firm:BoolArray.java correct
[SUCCESS] compile-firm:BoolTest.java correct
[SUCCESS] compile-firm:Brainfuck.0.inputc correct
[SUCCESS] compile-firm:Brainfuck.1.inputc correct
[SUCCESS] compile-firm:Calculator.0.inputc correct
[SUCCESS] compile-firm:CorrectStepping.java correct
[SUCCESS] compile-firm:CsePhi.java correct
[SUCCESS] compile-firm:DeadCode.java correct
[SUCCESS] compile-firm:Division.java correct
[SUCCESS] compile-firm:EscapingArray.java correct
[SUCCESS] compile-firm:Factorial.0.inputc correct
[SUCCESS] compile-firm:Factorial.java correct
[SUCCESS] compile-firm:FizzBuzz.java correct
[SUCCESS] compile-firm:FuckTheSystem.java correct
[SUCCESS] compile-firm:GetterSetter.java correct
[SUCCESS] compile-firm:IfAndWhile.java correct
[SUCCESS] compile-firm:InfLoop2.java correct
[SUCCESS] compile-firm:InfiniteLoop.java correct
[SUCCESS] compile-firm:LazyOrNot.java correct
[SUCCESS] compile-firm:LinkedList.java correct
[SUCCESS] compile-firm:LinkedList2.java correct
[SUCCESS] compile-firm:Maths.java correct
[SUCCESS] compile-firm:MiniPhiDeconst.java correct
[SUCCESS] compile-firm:ModuloTest.java correct
[SUCCESS] compile-firm:MultiArrayReferenceTest.java correct
[SUCCESS] compile-firm:NestedLoopSegfault.inf.java correct
[SUCCESS] compile-firm:NestedLoops.java correct
[SUCCESS] compile-firm:Nulls.java correct
[SUCCESS] compile-firm:Nulls2.java correct
[SUCCESS] compile-firm:Objects.java correct
[SUCCESS] compile-firm:Print2D.java correct
[SUCCESS] compile-firm:QuickSort.java correct
[SUCCESS] compile-firm:Quine.java correct
[SUCCESS] compile-firm:RNG.java correct
[SUCCESS] compile-firm:RSA.java correct
[SUCCESS] compile-firm:Raytracer.0.inputc correct
[SUCCESS] compile-firm:Raytracer.1.inputc correct
[SUCCESS] compile-firm:RecursiveCall.java correct
[SUCCESS] compile-firm:RecursiveFoo.java correct
[SUCCESS] compile-firm:ReturnInNestedBlock.java correct
[SUCCESS] compile-firm:ShiftOptimization.java correct
[SUCCESS] compile-firm:TestAndFoo.java correct
[SUCCESS] compile-firm:TestOverflow.java correct
[SUCCESS] compile-firm:Vector.java correct
[SUCCESS] compile-firm:WhileArraySum.java correct
[SUCCESS] compile-firm:WhileWithAssignments.java correct
----------------------------------------
All 65 run tests succeeded
Running compile tests
[SUCCESS] compile:Ackermann.java correct
[SUCCESS] compile:AllocEmpty.java correct
[SUCCESS] compile:AllocEmpty2.java correct
[SUCCESS] compile:AlphabeticalRegisterTransfer.java correct
[SUCCESS] compile:AndiTest1.java correct
[SUCCESS] compile:AndiTest3.java correct
[SUCCESS] compile:AndiTest4.java correct
[FAIL ] compile:AocDay01.0.inputc incorrect output
Report for failing test case AocDay01.0.inputc
Incorrect output
Expected output file: /mjtest/tests/exec/AocDay01.0.inputc.out
Expected output:
[0001] �[31;1m## Day 1
[0002] �[0mSolution: �[34;1m1688
[0003] �[0mSolution: �[34;1m1728
[0004] �[0m
Actual output:
[0001] �[31;1m## Day 1
[0002] �[0mSolution: �[34;1m0
[0003] �[0mSolution: �[34;1m0
[0004] �[0m
Output diff [expected <-> actual]:
[0001] �[31;1m## Day 1
[0002] - �[0mSolution: �[34;1m1688
[0003] ? ^^^^
[0004] + �[0mSolution: �[34;1m0
[0005] ? ^
[0006] - �[0mSolution: �[34;1m1728
[0007] ? ^^^^
[0008] + �[0mSolution: �[34;1m0
[0009] ? ^
[0010] �[0m
Source file:
[0001] class Aoc {
[0002] public static void main(String[] args) throws Exception {
[0003] InputHelper inputHelper = new InputHelper();
[0004] OutputHelper outputHelper = new OutputHelper();
[0005] Day01 day01 = new Day01();
[0006]
[0007] IntList numbers = inputHelper.readIntegers();
[0008] outputHelper.printDay(1);
[0009] outputHelper.printSolution(day01.partOne(numbers));
[0010] outputHelper.printSolution(day01.partTwo(numbers));
[0011] }
[0012] }
[0013]
[0014] class Day01 {
[0015] public int partOne(IntList numbers) {
[0016] int sum = 0;
[0017] int i = 0;
[0018] while (i < numbers.size - 1) {
[0019] int first = numbers.data[i];
[0020] int next = numbers.data[i + 1];
[0021]
[0022] if (next > first) {
[0023] sum = sum + 1;
[0024] }
[0025] i = i +1;
[0026] }
[0027] return sum;
[0028] }
[0029]
[0030] public int partTwo(IntList numbers) {
[0031] IntList slidingWindowSums = new IntList().init();
[0032]
[0033] int i = 0;
[0034] while (i < numbers.size - 2) {
[0035] int first = numbers.data[i];
[0036] int second = numbers.data[i + 1];
[0037] int third = numbers.data[i + 2];
[0038] slidingWindowSums.add(first + second + third);
[0039] i = i + 1;
[0040] }
[0041]
[0042] return partOne(slidingWindowSums);
[0043] }
[0044] }
[0045]
[0046] class IntList {
[0047] public int[] data;
[0048] public int size;
[0049] public int capacity;
[0050]
[0051] public IntList init() {
[0052] this.capacity = 10;
[0053] this.size = 0;
[0054] this.data = new int[capacity];
[0055]
[0056] return this;
[0057] }
[0058]
[0059] public void add(int number) {
[0060] if (size >= capacity) {
[0061] int[] newData = new int[2 * capacity];
[0062]
[0063] int i = 0;
[0064] while (i < size) {
[0065] newData[i] = data[i];
[0066] i = i + 1;
[0067] }
[0068]
[0069] data = newData;
[0070] capacity = 2 * capacity;
[0071] }
[0072] data[size] = number;
[0073] size = size + 1;
[0074] }
[0075]
[0076] public int size() {
[0077] return size;
[0078] }
[0079] }
[0080]
[0081] class InputHelper {
[0082] public IntList readIntegers() throws Exception {
[0083] int read;
[0084] int currentNumber = 0;
[0085] IntList numbers = new IntList().init();
[0086] while ((read = System.in.read()) >= 0) {
[0087] if (read == 10) {
[0088] numbers.add(currentNumber);
[0089] currentNumber = 0;
[0090] } else {
[0091] currentNumber = currentNumber * 10 + (read - 48);
[0092] }
[0093] }
[0094] return numbers;
[0095] }
[0096] }
[0097]
[0098] class OutputHelper {
[0099] public void printSolution(int solution) {
[0100] System.out.write(83);
[0101] System.out.write(111);
[0102] System.out.write(108);
[0103] System.out.write(117);
[0104] System.out.write(116);
[0105] System.out.write(105);
[0106] System.out.write(111);
[0107] System.out.write(110);
[0108] System.out.write(58);
[0109] System.out.write(32);
[0110] System.out.write(27);
[0111] System.out.write(91);
[0112] System.out.write(51);
[0113] System.out.write(52);
[0114] System.out.write(59);
[0115] System.out.write(49);
[0116] System.out.write(109);
[0117] System.out.println(solution);
[0118] System.out.write(27);
[0119] System.out.write(91);
[0120] System.out.write(48);
[0121] System.out.write(109);
[0122] System.out.flush();
[0123] }
[0124]
[0125] public void printDay(int day) {
[0126] System.out.write(27);
[0127] System.out.write(91);
[0128] System.out.write(51);
[0129] System.out.write(49);
[0130] System.out.write(59);
[0131] System.out.write(49);
[0132] System.out.write(109);
[0133] System.out.write(35);
[0134] System.out.write(35);
[0135] System.out.write(32);
[0136] System.out.write(68);
[0137] System.out.write(97);
[0138] System.out.write(121);
[0139] System.out.write(32);
[0140] System.out.println(day);
[0141] System.out.write(27);
[0142] System.out.write(91);
[0143] System.out.write(48);
[0144] System.out.write(109);
[0145] System.out.flush();
[0146] }
[0147]
[0148] }
[0149]
Input file:
[0001] 173
[0002] 178
[0003] 179
[0004] 187
[0005] 196
[0006] 199
[0007] 200
[0008] 201
[0009] 210
[0010] 209
[0011] 210
[0012] 211
[0013] 221
[0014] 223
[0015] 235
[0016] 236
[0017] 237
[0018] 238
[0019] 242
[0020] 249
[0021] 247
[0022] 246
[0023] 256
[0024] 257
[0025] 258
[0026] 257
[0027] 258
[0028] 265
[0029] 293
[0030] 303
[0031] 304
[0032] 317
[0033] 322
[0034] 330
[0035] 336
[0036] 337
[0037] 340
[0038] 339
[0039] 350
[0040] 351
[0041] 352
[0042] 353
[0043] 349
[0044] 353
[0045] 342
[0046] 339
[0047] 341
[0048] 342
[0049] 348
[0050] 349
[0051] 350
[0052] 355
[0053] 362
[0054] 392
[0055] 388
[0056] 393
[0057] 404
[0058] 402
[0059] 401
[0060] 402
[0061] 405
[0062] 410
[0063] 411
[0064] 424
[0065] 425
[0066] 432
[0067] 434
[0068] 433
[0069] 435
[0070] 441
[0071] 420
[0072] 439
[0073] 461
[0074] 463
[0075] 464
[0076] 468
[0077] 469
[0078] 473
[0079] 485
[0080] 494
[0081] 493
[0082] 489
[0083] 490
[0084] 491
[0085] 497
[0086] 490
[0087] 491
[0088] 493
[0089] 519
[0090] 520
[0091] 553
[0092] 554
[0093] 560
[0094] 565
[0095] 574
[0096] 586
[0097] 599
[0098] 600
[0099] 601
[0100] 604
[0101] 578
[0102] 574
[0103] 578
[0104] 597
[0105] 598
[0106] 597
[0107] 607
[0108] 606
[0109] 608
[0110] 616
[0111] 613
[0112] 615
[0113] 618
[0114] 617
[0115] 619
[0116] 626
[0117] 638
[0118] 639
[0119] 650
[0120] 682
[0121] 686
[0122] 693
[0123] 696
[0124] 709
[0125] 715
[0126] 745
[0127] 747
[0128] 750
[0129] 751
[0130] 753
[0131] 760
[0132] 763
[0133] 764
[0134] 772
[0135] 776
[0136] 779
[0137] 791
[0138] 794
[0139] 795
[0140] 800
[0141] 799
[0142] 808
[0143] 814
[0144] 825
[0145] 826
[0146] 831
[0147] 830
[0148] 837
[0149] 853
[0150] 854
[0151] 863
[0152] 872
[0153] 873
[0154] 881
[0155] 885
[0156] 895
[0157] 896
[0158] 897
[0159] 895
[0160] 905
[0161] 909
[0162] 912
[0163] 916
[0164] 921
[0165] 919
[0166] 927
[0167] 929
[0168] 935
[0169] 936
[0170] 937
[0171] 948
[0172] 947
[0173] 948
[0174] 922
[0175] 926
[0176] 932
[0177] 931
[0178] 938
[0179] 958
[0180] 975
[0181] 977
[0182] 982
[0183] 985
[0184] 986
[0185] 987
[0186] 988
[0187] 1007
[0188] 1005
[0189] 1007
[0190] 1008
[0191] 1010
[0192] 1013
[0193] 1015
[0194] 1016
[0195] 1019
[0196] 1025
[0197] 1026
[0198] 1027
[0199] 1029
[0200] 1039
[0201] 1047
[0202] 1054
[0203] 1055
[0204] 1063
[0205] 1066
[0206] 1087
[0207] 1095
[0208] 1096
[0209] 1097
[0210] 1093
[0211] 1114
[0212] 1123
[0213] 1131
[0214] 1137
[0215] 1142
[0216] 1140
[0217] 1154
[0218] 1157
[0219] 1158
[0220] 1159
[0221] 1160
[0222] 1170
[0223] 1174
[0224] 1182
[0225] 1184
[0226] 1191
[0227] 1200
[0228] 1211
[0229] 1214
[0230] 1231
[0231] 1241
[0232] 1250
[0233] 1246
[0
____________________________________________
< You are taking yourself far too seriously. >
--------------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.