[{"title":"( 87 个子文件 119KB ) Compiler:一个简化的解释器、编译器和调试器-源码","children":[{"title":"Compiler-master","children":[{"title":"fib.x.cod <span style='color:#111;'> 731B </span>","children":null,"spread":false},{"title":"Interpreter.jar <span style='color:#111;'> 163.83KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"ast","children":[{"title":"FormalsTree.java <span style='color:#111;'> 199B </span>","children":null,"spread":false},{"title":"CallTree.java <span style='color:#111;'> 190B </span>","children":null,"spread":false},{"title":"IfTree.java <span style='color:#111;'> 184B </span>","children":null,"spread":false},{"title":"FloatTree.java <span style='color:#111;'> 622B </span>","children":null,"spread":false},{"title":"WhileTree.java <span style='color:#111;'> 192B </span>","children":null,"spread":false},{"title":"BlockTree.java <span style='color:#111;'> 193B </span>","children":null,"spread":false},{"title":"RelOpTree.java <span style='color:#111;'> 462B </span>","children":null,"spread":false},{"title":"RepeatTree.java <span style='color:#111;'> 194B </span>","children":null,"spread":false},{"title":"DeclTree.java <span style='color:#111;'> 190B </span>","children":null,"spread":false},{"title":"ProgramTree.java <span style='color:#111;'> 199B </span>","children":null,"spread":false},{"title":"AST.java <span style='color:#111;'> 1.93KB </span>","children":null,"spread":false},{"title":"FloatTypeTree.java <span style='color:#111;'> 205B </span>","children":null,"spread":false},{"title":"IntTree.java <span style='color:#111;'> 622B </span>","children":null,"spread":false},{"title":"AddOpTree.java <span style='color:#111;'> 370B </span>","children":null,"spread":false},{"title":"FunctionDeclTree.java <span style='color:#111;'> 214B </span>","children":null,"spread":false},{"title":"IdTree.java <span style='color:#111;'> 793B </span>","children":null,"spread":false},{"title":"IntTypeTree.java <span style='color:#111;'> 199B </span>","children":null,"spread":false},{"title":"ReturnTree.java <span style='color:#111;'> 196B </span>","children":null,"spread":false},{"title":"AssignTree.java <span style='color:#111;'> 196B </span>","children":null,"spread":false},{"title":"MultOpTree.java <span style='color:#111;'> 464B </span>","children":null,"spread":false},{"title":"ActualArgsTree.java <span style='color:#111;'> 208B </span>","children":null,"spread":false},{"title":"BoolTypeTree.java <span style='color:#111;'> 202B </span>","children":null,"spread":false}],"spread":false},{"title":"visitor","children":[{"title":"PrintVisitor.java <span style='color:#111;'> 3.45KB </span>","children":null,"spread":false},{"title":"ASTVisitor.java <span style='color:#111;'> 1.73KB </span>","children":null,"spread":false}],"spread":true},{"title":"constrain","children":[{"title":"Constrainer.java <span style='color:#111;'> 11.84KB </span>","children":null,"spread":false},{"title":"Table.java <span style='color:#111;'> 3.98KB </span>","children":null,"spread":false}],"spread":true},{"title":"interpreter","children":[{"title":"Interpreter.java <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false},{"title":"RunTimeStack.java <span style='color:#111;'> 2.58KB </span>","children":null,"spread":false},{"title":"ByteCodeLoader.java <span style='color:#111;'> 1.43KB </span>","children":null,"spread":false},{"title":"Program.java <span style='color:#111;'> 2.07KB </span>","children":null,"spread":false},{"title":"VirtualMachine.java <span style='color:#111;'> 2.57KB </span>","children":null,"spread":false},{"title":"debugger","children":[{"title":"ui","children":[{"title":"Trace.java <span style='color:#111;'> 413B </span>","children":null,"spread":false},{"title":"StepOver.java <span style='color:#111;'> 385B </span>","children":null,"spread":false},{"title":"UI.java <span style='color:#111;'> 9.03KB </span>","children":null,"spread":false},{"title":"StepOut.java <span style='color:#111;'> 560B </span>","children":null,"spread":false},{"title":"StepIn.java <span style='color:#111;'> 375B </span>","children":null,"spread":false}],"spread":true},{"title":"DebuggerVM.java <span style='color:#111;'> 5.51KB </span>","children":null,"spread":false},{"title":"FunctionEnvironmentRecord.java <span style='color:#111;'> 6.77KB </span>","children":null,"spread":false},{"title":"Debugger.java <span style='color:#111;'> 1.33KB </span>","children":null,"spread":false},{"title":"SourceLines.java <span style='color:#111;'> 634B </span>","children":null,"spread":false}],"spread":true},{"title":"CodeTable.java <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"bytecodes","children":[{"title":"GoToCode.java <span style='color:#111;'> 945B </span>","children":null,"spread":false},{"title":"FalseBranchCode.java <span style='color:#111;'> 1.00KB </span>","children":null,"spread":false},{"title":"LabelCode.java <span style='color:#111;'> 625B </span>","children":null,"spread":false},{"title":"HaltCode.java <span style='color:#111;'> 512B </span>","children":null,"spread":false},{"title":"ReadCode.java <span style='color:#111;'> 647B </span>","children":null,"spread":false},{"title":"StoreCode.java <span style='color:#111;'> 768B </span>","children":null,"spread":false},{"title":"CallCode.java <span style='color:#111;'> 982B </span>","children":null,"spread":false},{"title":"LoadCode.java <span style='color:#111;'> 762B </span>","children":null,"spread":false},{"title":"BopCode.java <span style='color:#111;'> 3.29KB </span>","children":null,"spread":false},{"title":"ArgsCode.java <span style='color:#111;'> 583B </span>","children":null,"spread":false},{"title":"PopCode.java <span style='color:#111;'> 681B </span>","children":null,"spread":false},{"title":"DumpCode.java <span style='color:#111;'> 753B </span>","children":null,"spread":false},{"title":"ByteCode.java <span style='color:#111;'> 352B </span>","children":null,"spread":false},{"title":"ReturnCode.java <span style='color:#111;'> 721B </span>","children":null,"spread":false},{"title":"debuggerBytecodes","children":[{"title":"debugLitCode.java <span style='color:#111;'> 711B </span>","children":null,"spread":false},{"title":"debugCallCode.java <span style='color:#111;'> 663B </span>","children":null,"spread":false},{"title":"FormalCode.java <span style='color:#111;'> 887B </span>","children":null,"spread":false},{"title":"FunctionCode.java <span style='color:#111;'> 2.42KB </span>","children":null,"spread":false},{"title":"LineCode.java <span style='color:#111;'> 1.53KB </span>","children":null,"spread":false},{"title":"debugReturnCode.java <span style='color:#111;'> 1.34KB </span>","children":null,"spread":false},{"title":"debugPopCode.java <span style='color:#111;'> 573B </span>","children":null,"spread":false}],"spread":false},{"title":"WriteCode.java <span style='color:#111;'> 540B </span>","children":null,"spread":false},{"title":"LitCode.java <span style='color:#111;'> 802B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"lexer","children":[{"title":"Tokens.java <span style='color:#111;'> 406B </span>","children":null,"spread":false},{"title":"SourceReader.java <span style='color:#111;'> 3.03KB </span>","children":null,"spread":false},{"title":"Lexer.java <span style='color:#111;'> 9.11KB </span>","children":null,"spread":false},{"title":"Token.java <span style='color:#111;'> 1.47KB </span>","children":null,"spread":false},{"title":"setup","children":[{"title":"TokenSetup.java <span style='color:#111;'> 3.67KB </span>","children":null,"spread":false},{"title":"tokens <span style='color:#111;'> 341B </span>","children":null,"spread":false}],"spread":true},{"title":"TokenType.java <span style='color:#111;'> 2.45KB </span>","children":null,"spread":false},{"title":"Symbol.java <span style='color:#111;'> 1.22KB </span>","children":null,"spread":false}],"spread":true},{"title":"codegen","children":[{"title":"Codegen.java <span style='color:#111;'> 15.41KB </span>","children":null,"spread":false},{"title":"NumOpcode.java <span style='color:#111;'> 466B </span>","children":null,"spread":false},{"title":"Program.java <span style='color:#111;'> 958B </span>","children":null,"spread":false},{"title":"Code.java <span style='color:#111;'> 424B </span>","children":null,"spread":false},{"title":"VarOpcode.java <span style='color:#111;'> 747B </span>","children":null,"spread":false},{"title":"LabelOpcode.java <span style='color:#111;'> 576B </span>","children":null,"spread":false},{"title":"Codes.java <span style='color:#111;'> 2.73KB </span>","children":null,"spread":false}],"spread":true},{"title":"compiler","children":[{"title":"Compiler.java <span style='color:#111;'> 2.23KB </span>","children":null,"spread":false}],"spread":true},{"title":"parser","children":[{"title":"Parser.java <span style='color:#111;'> 12.28KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".gitignore <span style='color:#111;'> 2.58KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 838B </span>","children":null,"spread":false},{"title":"fib.x <span style='color:#111;'> 324B </span>","children":null,"spread":false},{"title":".gitattributes <span style='color:#111;'> 483B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]