Skip to content
a simplistic implementation of the Mathematica language in C++ (not maintained anymore, consider using Mathics instead)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Atom.cpp
Atom.h
AttributeSet.cpp
AttributeSet.h
BinaryOperator.cpp
BinaryOperator.h
Calculator.cpp
Calculator.h
Complex.cpp
Complex.h
ConvertingNumber.cpp
ConvertingNumber.h
Definition.cpp
Definition.h
Definitions.cpp
Definitions.h
EvaluationControl.cpp
EvaluationControl.h
Exceptions.cpp
Exceptions.h
Expression.cpp
Expression.h
ExtendedIterator.cpp
ExtendedIterator.h
Factory.cpp
Factory.h
FlowControl.cpp
FlowControl.h
FunctionOperator.cpp
FunctionOperator.h
Help.cpp
Help.h
History.cpp
History.h
Input.cpp
Input.h
Integer.cpp
Integer.h
LeafSubsetCallback.cpp
LeafSubsetCallback.h
List.cpp
List.h
MatchCallbacks.cpp
MatchCallbacks.h
Mathador.cpp
MultiOperator.cpp
MultiOperator.h
Number.cpp
Number.h
NumericEvaluation.cpp
NumericEvaluation.h
Operator.cpp
Operator.h
OperatorFactory.cpp
OperatorFactory.h
OpsArithmetic.cpp
OpsArithmetic.h
OpsAssignment.cpp
OpsAssignment.h
OpsAttributes.cpp
OpsAttributes.h
OpsElementary.cpp
OpsElementary.h
OpsExpressionStructure.cpp
OpsExpressionStructure.h
OpsFunctional.cpp
OpsFunctional.h
OpsLogical.cpp
OpsLogical.h
OpsTests.cpp
OpsTests.h
Parser.cpp
Parser.h
Part.cpp
Part.h
PatternMatching.cpp
PatternMatching.h
Predefined.cpp
Predefined.h
PredefinedFunc.cpp
PredefinedFunc.h
README
Rational.cpp
Rational.h
Real.cpp
Real.h
Rule.cpp
Rule.h
Scoping.cpp
Scoping.h
StdAfx.cpp
StdAfx.h
SubsetGenerator.cpp
SubsetGenerator.h
Substitutions.cpp
Substitutions.h
Symbol.cpp
Symbol.h
Test.cpp
Test.h
Typedefs.cpp
Typedefs.h
UnaryOperator.cpp
UnaryOperator.h

README

This is a simplistic implementation of some aspects of the Mathematica Language in C++. The main program is in Mathador.cpp and yields an interactive console program to enter queries.

Supported functions:

Basic arithmetic: Plus (+), Subtract (-), Minus (-), Times (*), Divide (/), Power (^), NonCommutativeMultiply (**), Abs

Elementary Functions: Sin, Cos

Numeric Evaluation: N

Lists: List, Length

Assignment: Set (=), SetDelayed (:=), UpSet (^=), UpSetDelayed (^:=), Increment (++), PreIncrement (++)

Tests: Equal (==), Unequal (!=), Less (<), Greater (>), LessEqual (<=), GreaterEqual (>=)

Logical operations: Not (!), And (&&), Or (||)

Flow control: CompoundExpression (;), If, For

Attributes: Attributes, SetAttributes, ClearAttributes

Evaluation control: Unevaluated

Expression structure: Head, FullForm

Functional operations: Function (&), Slot (#), SlotSequence (##), Apply (@@), Map (/@)

Pattern matching: Pattern (:), Blank (_), BlankSequence (__), BlankNullSequence (___), MatchQ

Rule application: Rule (->), RuleDelayed (:>), Replace, ReplaceAll (/.), ReplaceRepeated (//.)

Scoping: Module
You can’t perform that action at this time.