-
-
Couldn't load subscription status.
- Fork 98
Developer FAQ
Ax Kr edited this page Jan 18, 2021
·
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
- package org.matheclipse.core.builtin
- and package org.matheclipse.core.reflection.system contain the buit-in functions implementation
- 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.
- here is an example commit #939f6de, #8d6594a for a simple
Beep()function. - more tips how to integrating-your-own-java-library-with-the-wxf-format
- 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
- another "fuzzy parser" FuzzyParser.java is implemented for the parsing of JSON API input queries.
- 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
- the Google Java Formatter, which reformats Java source code to comply with Google Java Style, is used for formatting Java source codes.
- use the command line and run the Maven command
mvn clean javadoc:javadoc