-
-
Notifications
You must be signed in to change notification settings - Fork 98
Developer FAQ
Ax Kr edited this page Dec 13, 2020
·
31 revisions
- two REPLs are available in the library a Console.java for standard math input and a MMAConsole.java for Mathematica like syntax input.
- you can find it in the /doc/functions folder
- the language documentation can be found in the /doc folder
- add the new name to AST2Expr.FUNCTION_STRINGS
- run the development tool FunctionIDGenerator and copy the generated source code to the file ID.java
- run the development tool BuiltinGenerator and replace the corresponding section with the generated source code in the file S.java
- if you like you can define Java "function stubs" for your function in the file F.java
- if you plan to implement a bunch of new built-in functions you can open an issue and we create the corresponding templates for you.
- package org.matheclipse.core.builtin
- and package org.matheclipse.core.reflection.system contain the buit-in functions implementation
- They are defined in the /rules folder and translated to Java code with the Rule-preprocessor
- in package org.matheclipse.core.parser the main
ExprParserclass is implemented to transform an input string directly to anIExprobject - the basic parser structures are defined in package org.matheclipse.parser.client this
Parsercan be used on the client side without the whole Symja stuff. Inside Symja theAST2Exprclass is used to transform the client sideASTNodeinto anIExpr. - all operators and their affix, associativity, and precedence are defined in the ASTNodeFactory class
- it's implemented in package org.matheclipse.core.patternmatching
- the "Rubi Integration" rules are implemented with structural pattern-matching. See: Porting Rubi Integration rules to Symja
- the class CompleteTestSuite starts the main JUnit test cases
- in class LowercaseTestCase you can find an example for almost all built-in functions.
- the "Rubi Integration" rules implementation has their own JUnit test classes. See: Porting Rubi Integration rules to Symja