Module: Hilbert::Lexer::Tokens

Included in:
Base, MainLexer, Parser, Parser::FormulaParser, Parser::FuncParser
Defined in:
lib/hilbert/lexer/tokens.rb

Defined Under Namespace

Classes: Util

Constant Summary collapse

INT =

NUM

/[0-9]+/
FLO =
/[0-9]+\.[0-9]+/
E =
/e/
PI =
/pi/
INF =
/oo/
NUM =
/(?:#{FLO}|#{INT}|#{E}|#{PI}|#{INF})/
LPRN =

FUNCTION

/\(/
RPRN =
/\)/
EMBEDDED_FUNC =
/(?:sin|cos|tan|log)/
USER_FUNC =
/[a-zA-Z]/
FUNCV =

h(x + y) != h * (x + y)

/(?:#{EMBEDDED_FUNC}|#{USER_FUNC})(?=#{LPRN})/
VAR =

VARIABLE

/(?:[a-d]|[f-z])/
LIM_SYM =

SYM

/lim/
INTE_SYM =
/S/
DIFF_SYM =
/d\/d/
SGM_SYM =
/(?:∑|sigma)/
PLS =

OPE

/\+/
SUB =
/-/
MUL =
/\*/
DIV =
/\//
EXP =
/(\*\*|\^)/
OPE =
/(?:#{PLS}|#{SUB}|#{MUL}|#{DIV}|#{EXP})/
VARNUM =
/(?:#{NUM}|#{VAR})/
ANYSP =
' *'
ANYSTR =
/.+/
NONL =
/[^\r\n]/
PRN =
/(?:#{LPRN}|#{RPRN})/
LBRCS =
/\{/
RBRCS =
/\}/
BRCS =
/(?:#{LBRCS}|#{RBRCS})/
LBRCT =
/\[/
RBRCT =
/\]/
BRCT =
/(?:#{LBRCT}|#{RBRCT})/
CLN =
/\:/
SCLN =
/;/
CMA =
/\,/
EQL =
/\=/
RSARW =
'->'
LSARW =
'<-'
RDARW =
'=>'
LDARW =
'<='
SPC =
/[ \t\f\v]/
SPCS =
/ +/
NLIN =
/(\r|\n)/
DEFLOGIC =

World FIXIT

/\A.*[A-RT-Z].*\z/
EVALOGIC =
/\A.*[A-RT-Z].*\?\z/
PROVAR =
/[A-RT-Z]/
CONJ =
/\&/
DISJ =
/\|/
NEGA =
/\~/
COND =
/\->/
BICO =
/<\->/
SCLN_OR_NELN =

FIXIT

/(?:#{SCLN}|#{NLIN})/
NUMS_BY_CMA =
Util.string_out(NUM, CMA)
VARS_BY_CMA =
Util.string_out(VAR, CMA)
VARNUMS_BY_CMA =
Util.string_out(VARNUM, CMA)
NUMS_BY_SP =
Util.string_out(NUM, SPC)
FUNCCN =
Util.func_call(NUMS_BY_CMA)
FUNCCV =
Util.func_call(VARS_BY_CMA)
FUNCCVN =
Util.func_call(VARNUMS_BY_CMA)
NUMS_BY_SP_BY_SCLN_OR_NELN =
Util.string_out(NUMS_BY_SP, SCLN_OR_NELN)
FORMULA =
/(?:#{OPE}|#{FUNCV}|#{VAR}|#{NUM}|#{PRN}|#{ANYSP})+/