📄 mainmethodnode.java
字号:
class MainMethodNode extends ExecutableNode
{
BlockNode vBlockNode;
static MainMethodNode parserMainMethod(Environment env, Scanner s) throws ParserException, ScannerException
{
matchKeyword(s,"void");
matchIdentifier(s,"task");
matchBracket(s,'(');
matchBracket(s,')');
return new MainMethodNode(BlockNode.parserBlock(env,s));
}
static boolean mIsMainMethod(Scanner s) throws ScannerException
{
Token t= s.followingToken();
if(t.isIdentifier())
return ((IdentifierToken)t).content().equals("task");
else return false;
}
MainMethodNode(BlockNode aBlockNode)
{
vBlockNode= aBlockNode;
}
MainMethodNode()
{
vBlockNode= null;
}
String format(int indent)
{
return "\nvoid task()\n" + vBlockNode.format(indent);
}
Environment run(Environment env) throws InterpreterException
{
if(vBlockNode!=null)env.addAll(vBlockNode.run(env));
return env;
}
boolean typeCheck(Environment env) throws InterpreterException
{
ProgramNode.vTopLevelEnvironment.put("returnType", "void");
if(vBlockNode!=null)
return vBlockNode.typeCheck(env);
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -