/src/org/ooc/frontend/parser/ReturnParser.java
http://github.com/nddrylliog/ooc · Java · 32 lines · 24 code · 8 blank · 0 comment · 4 complexity · e76e3a3a9fba15487f0398329f191e91 MD5 · raw file
- package org.ooc.frontend.parser;
- import org.ooc.frontend.model.Expression;
- import org.ooc.frontend.model.Module;
- import org.ooc.frontend.model.Return;
- import org.ooc.frontend.model.ValuedReturn;
- import org.ooc.frontend.model.tokens.Token;
- import org.ooc.frontend.model.tokens.TokenReader;
- import org.ooc.frontend.model.tokens.Token.TokenType;
- import org.ubi.SourceReader;
- public class ReturnParser {
- public static Return parse(Module module, SourceReader sReader, TokenReader reader) {
- int mark = reader.mark();
-
- Token startToken = reader.read();
- if(startToken.type == TokenType.RETURN_KW) {
- Expression expr = ExpressionParser.parse(module, sReader, reader);
- if(expr == null) {
- return new Return(startToken);
- }
- return new ValuedReturn(expr, startToken);
- }
-
- reader.reset(mark);
- return null;
-
- }
-
- }