FusionDSL v0.0.1-dev FusionDsl.Processor.Lexer View Source

Tokenizer and normalizer for FusionDsl

Link to this section Summary

Functions

Splits list of tokens to lists of lists by line with line number in beggining of each line

Tokenizes a FusionDsl Code

Link to this section Functions

Link to this macro is_fn_complete(c) View Source (macro)
Link to this function split_by_lines(tokens, start_code_line \\ 1) View Source
split_by_lines(list(), integer()) :: list()

Splits list of tokens to lists of lists by line with line number in beggining of each line

Link to this function tokenize(raw_code) View Source
tokenize(String.t()) :: {:ok, map(), list()} | {:error, String.t()}

Tokenizes a FusionDsl Code

Lexical types:

  • strings begining with quote (‘): immidiate string
  • strings begining with percent sign (%): json object
  • other strings: operators or identifires
  • numbers: Immidiate number. float or integer.