Parser

io.github.edadma.texish.Parser
class Parser(commands: Seq[Command], actives: Seq[Active], blanks: Boolean, var csDelim: String, var beginDelim: String, var endDelim: String, var pipeDelim: String, var rawBeginDelim: String, var rawEndDelim: String)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def consume(r: CharReader, set: Char => Boolean, buf: StringBuilder): (CharReader, String)
def consumeCond(r: CharReader, cond: CharReader => Boolean, buf: StringBuilder): (CharReader, String)
def consumeStringLiteral(r: CharReader): (CharReader, String)
def dotExpression(pos: CharReader, v: String): AST
def keyword(r: CharReader, words: List[String]): Option[(CharReader, String)]
def lookahead(r: CharReader, s: String): Boolean
def lookahead(r: CharReader, delims: Seq[String]): Boolean
def matches(r: CharReader, c: Char*): Boolean
def matches(r: CharReader, s: String, idx: Int): Option[CharReader]
def parse(src: String): AST
def parse(src: CharReader): AST
def parseActive(r: CharReader, as: Seq[Active]): Option[(CharReader, AST)]
def parseCases(cs: String, r: CharReader, cases: Vector[(AST, AST)]): (CharReader, Vector[(AST, AST)])
def parseCommand(pos: CharReader, name: String, r: CharReader, statement: Boolean): (CharReader, AST)
def parseControlSequence(r: CharReader): Option[(CharReader, String)]
def parseElse(r: CharReader): Option[(CharReader, AST)]
def parseExpressionArgument(r: CharReader): (CharReader, AST)
def parseExpressionArguments(r: CharReader, n: Int, buf: ListBuffer[AST]): (CharReader, List[AST])
def parseGroup(r: CharReader, v: Vector[AST]): (CharReader, GroupAST)
def parseLiteralArgument(r: CharReader): (CharReader, Any)
def parseRegularArgument(r: CharReader): (CharReader, AST)
def parseRegularArguments(r: CharReader, n: Int, buf: ListBuffer[AST]): (CharReader, List[AST])
def parseStatement(r: CharReader): (CharReader, AST)
def parseStatements(r: CharReader, v: Vector[AST]): (CharReader, GroupAST)
def parseStatic(r: CharReader): (CharReader, AST)
def parseString(r: CharReader): (CharReader, String)
def parseStringArgument(r: CharReader): (CharReader, String)
def parseStringArguments(r: CharReader, v: Vector[String]): (CharReader, Vector[String])
def parseStringWhitespace(r: CharReader): (CharReader, String)
def parseVariableArgument(r: CharReader): (CharReader, String)
def skip(r: CharReader, cond: CharReader => Boolean): CharReader
def skipSpace(r: CharReader): CharReader

Concrete fields

val activeDelims: Seq[String]
var beginDelim: String
val commandMap: Map[String, Command]
var csDelim: String
var endDelim: String
val macros: HashMap[String, Macro]
var pipeDelim: String
var rawBeginDelim: String
var rawEndDelim: String