Tokenizer

object Tokenizer
class Object
trait Matchable
class Any

Type members

Classlikes

enum State

Состояние парсера

Состояние парсера

Начальное состояние - Init

Переходы состояний, в зависимости от входящего символа:

  • '-' | '.' | '0' .. '9' в NumParse
  • '{' | '}' | '[' | ']' | ',' | ':' в OneCharParse
  • ''' | '"' в StrParse
  • whitespace в WhitespaceParse
  • '/' -> CommentParse
  • letter | '$' | '_' -> IdParser
  • все остальное в Err

Value members

Concrete methods

def accept(state: State, char: Char): Either[TokenError, (State, List[Token])]

Парсинг очередной буквы

Парсинг очередной буквы

Value parameters:
char
  • входящий символ
state
  • текущее состояние парсера
Returns:

или ошибка или (новое состояние, распознаные лексемы)

def end(state: State): Either[TokenError, (State, List[Token])]
def init: State
def parse(string: String): Either[TokenError, List[Token]]

Парсинг строки

Парсинг строки

Value parameters:
string

строка

Returns:

лексеммы

Extensions

Extensions

extension [P <: StreamTokenParserState](state: P)
def succFinish: Boolean

Парсинг лексем Json

Парсинг лексем Json