{
  "Tasks": [  
      { "name": "TestSimpleLexer",
        "grades": {
        "TestId": 1,
        "TestOps": 1,
        "TestKeywords": 1,
        "TestOpsFail": 1,
        "TestAssigns": 1,
        "TestComparisons": 1,
        "TestComparisonsAndOps": 1,
        "TestComment": 1,
        "TestCommentFileEnd": 1,
        "TestCommentNextLine": 1,
        "TestMultLineComment": 1,
        "TestCommentFileEnd": 1,
        "TestCommentNextLine": 1,
        "TestCommentNotClosed": 1
      }
      },
      { "name": "TestLexer",
         "grades": {
           "TestIntParse": 1,
           "TestIntFailDot": 1,
           "TestIntFailSymbol": 1,
           "TestIntFailEpty": 1,
           "TestIntCollectNumber": 1,
           "TestIdParse": 1,
           "TestIdEmpty": 1,
           "TestIdCaps": 1,
           "TestIdNumbers": 1,
           "TestIdUnderscore" : 1,
           "TestIdDot": 1,
           "TestIdDollar": 1,
           "TestIntNotZeroParse": 1,
           "TestIntNotZeroFail": 1,
           "TestIntNotZeroPass": 1,
           "TestLetterDigitParse": 1,
           "TestLetterDigitFail": 1,
           "TestLetterListParse": 1,
           "TestLetterListFail": 1,
           "TestDigitListParse": 1,
           "TestDigitListFail": 1,
           "TestLetterDigitGroupParse": 1,
           "TestLetterDigitGroupFail": 1,
           "TestDoubleParse": 1,
           "TestDoubleFail": 1,
           "TestQuotedStringParse": 1,
           "TestQuotedStringFail": 1,
           "TestCommentParse": 1,
           "TestCommentFail": 1,
           "TestIdChainParse": 1,
           "TestIdChainFail": 1
         }
      },
      { "name": "TestGeneratedLexer",
        "grades": {
           "TestIdCount": 1,
           "TestIdInfo": 1,
           "TestNumbers": 1,
           "TestSingleLineCmt": 1,
           "TestMultiLineCmt": 1,
           "TestMultiLineCmtIds": 1
        }
      },
      { "name": "TestGeneratedParser",
        "grades": {
           "TestWhile": 1,
           "TestRepeat": 1,
           "TestFor": 1,
           "TestWrite": 1,
           "TestIf": 1,
           "TestVar": 1,
           "TestExr": 1
        }
      },
      { "name": "TestDescentParser",
        "grades": {
           "TestWhile": 1,
           "TestFor": 1,
           "TestIf": 1,
           "TestExpr": 1
        }
      },
      { "name": "TestASTParser",
        "grades": {
           "TestWhile": 1,
           "TestRepeat": 1,
           "TestFor": 1,
           "TestWrite": 1
        }
      },
      { "name": "TestCodeGenerator",
        "grades": {
           "SmokeTest": 1,
           "TestOutput": 1,
           "TestIntDivMod": 1,
           "TestIf": 1,
           "TestWhile": 1,
           "TestUntil": 1
        }
      },
      { "name": "TestVisitors",
        "grades": {
           "NoLoopTest": 1,
           "ThreeLoopsTest": 1,
           "OneVarTest": 1,
           "ManyVarTest": 1,
           "AssignTest": 1,
           "CycleTest": 1,
           "WriteTest": 1,
           "OneLoopTest": 1,
           "ThreeLoopsTest1": 1,
           "LoopTreeTest": 1,
           "SimpleTest": 1,
           "FirstTest": 1
        }
      }
    ]
}