wxMaxima
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
MaximaTokenizer Class Reference

#include <MaximaTokenizer.h>

Collaboration diagram for MaximaTokenizer:
Collaboration graph
[legend]

Classes

class  Token
 

Public Types

using TokenList = std::vector< Token >
 

Public Member Functions

 MaximaTokenizer (wxString commands, Configuration *configuration)
 
TokenList PopTokens () &&
 
 MaximaTokenizer (wxString commands, Configuration *configuration, const TokenList &initialTokens)
 A constructor that adds additional words to the token list.
 

Static Public Member Functions

static bool IsAlpha (wxChar ch)
 
static bool IsNum (wxChar ch)
 
static bool IsAlphaNum (wxChar ch)
 
static bool IsSpace (wxChar ch)
 
static const wxString & UnicodeNumbers ()
 
static const wxString & Operators ()
 

Protected Member Functions

 WX_DECLARE_STRING_HASH_MAP (int, StringHash)
 

Protected Attributes

TokenList m_tokens
 The tokens the string is divided into.
 
Configurationm_configuration
 

Static Protected Attributes

static const wxString m_additional_alphas = wxT("\\_%ยต")
 ASCII symbols that wxIsalnum() doesn't see as chars, but maxima does.
 
static const wxString m_not_alphas
 Unicode Operators and other special non-ascii characters. More...
 
static const wxString m_spaces
 Space characters. More...
 
static const wxString m_plusSigns
 Plus sign. More...
 
static const wxString m_minusSigns
 Minus sign. More...
 
static const wxString m_linebreaks
 Linebreak characters. More...
 
static const wxString m_unicodeNumbers
 Unicode numbers. More...
 
static const wxString m_operators
 Operators. More...
 
static StringHash m_hardcodedFunctions
 

Detailed Description

Maximatokenizer breaks down maxima input to individual commands.

Member Data Documentation

◆ m_hardcodedFunctions

MaximaTokenizer::StringHash MaximaTokenizer::m_hardcodedFunctions
staticprotected

Names of functions that don't require parenthesis

The maxima parser automatically parses everything that is followed by an opening parenthesis as a function. But a few things like "then" are very similar to functions except that they don't require an argument. These fake functions are kept in this hash.

◆ m_linebreaks

const wxString MaximaTokenizer::m_linebreaks
staticprotected
Initial value:
=
wxT("\n")
wxT("\u2028")
wxT("\u2029")

Linebreak characters.

◆ m_minusSigns

const wxString MaximaTokenizer::m_minusSigns
staticprotected
Initial value:
=
"-"
wxT("\u2796")
wxT("\uFE63")
wxT("\uFF0D")

Minus sign.

◆ m_not_alphas

const wxString MaximaTokenizer::m_not_alphas
staticprotected
Initial value:
= wxT("\u00B7\u2212\u2260\u2264\u2265\u2265\u2212\u00B2\u00B3\u00BD\u221E\u22C0\u22C1\u22BB\u22BC\u22BD\u00AC\u2264\u2265\u2212")
wxT("\uFE62")
wxT("\uFF0B")
wxT("\uFB29")
wxT("\u2795")
wxT("\u2064")
wxT("\u2796")
wxT("\uFE63")
wxT("\uFF0D")

Unicode Operators and other special non-ascii characters.

◆ m_operators

const wxString MaximaTokenizer::m_operators
staticprotected
Initial value:
=
wxT("\u221A\u22C0\u22C1\u22BB\u22BC\u22BD\u00AC\u222b\u2264\u2265\u2211\u2260+-*/^:=#'!()[]{}")

Operators.

◆ m_plusSigns

const wxString MaximaTokenizer::m_plusSigns
staticprotected
Initial value:
=
"+"
wxT("\uFE62")
wxT("\uFF0B")
wxT("\uFB29")
wxT("\u2795")
wxT("\u2064")

Plus sign.

◆ m_spaces

const wxString MaximaTokenizer::m_spaces
staticprotected
Initial value:
= wxT(" ")
wxT("\u00A0")
wxT("\xDCB6")
wxT("\u1680")
wxT("\u2000")
wxT("\u2001")
wxT("\u2002")
wxT("\u2003")
wxT("\u2004")
wxT("\u2005")
wxT("\u2006")
wxT("\u2007")
wxT("\u2008")
wxT("\t")
wxT("\r")

Space characters.

◆ m_unicodeNumbers

const wxString MaximaTokenizer::m_unicodeNumbers
staticprotected
Initial value:
=
wxT("\u00BD\u00B2\u00B3\u221E")

Unicode numbers.


The documentation for this class was generated from the following files: