// Path: src/main/java/io/github/gitbucket/markedj/rule/Rule.java
// public interface Rule {
//     List<String> exec(String src);
// }


import io.github.gitbucket.markedj.rule.Rule;
import io.github.gitbucket.markedj.token.*;
import java.util.Map;
import java.util.Stack;
package io.github.gitbucket.markedj;



public class Parser {

    protected Options options;
    protected Renderer renderer;

    public Parser(Options options, Renderer renderer){
        this.options = options;
        this.renderer = renderer;
    }

    public String parse(Stack<Token> src, Map<String, Lexer.Link> links){
// Path: src/main/java/io/github/gitbucket/markedj/rule/Rule.java
// public interface Rule {
//     List<String> exec(String src);
// }


// Path: src/main/java/io/github/gitbucket/markedj/Parser.java
import io.github.gitbucket.markedj.rule.Rule;
import io.github.gitbucket.markedj.token.*;
import java.util.Map;
import java.util.Stack;

package io.github.gitbucket.markedj;



public class Parser {

    protected Options options;
    protected Renderer renderer;

    public Parser(Options options, Renderer renderer){
        this.options = options;
        this.renderer = renderer;
    }

    public String parse(Stack<Token> src, Map<String, Lexer.Link> links){
        Map<String, Rule> rules;