Skip to content
Ax Kr edited this page Jan 18, 2021 · 31 revisions

How can I interactively execute the Symja language?

  • two REPLs are available in the library a Console.java for standard math input and a MMAConsole.java for Mathematica like syntax input.

Where can I find the documentation of built-in functions in the repository?

  • you can find it in the /doc/functions folder
  • the language documentation can be found in the /doc folder

Where are the built-in function implementations in Java?


How can I define a new Symja built-in function name in Java?


Where are the main basic transformation rules defined?


Where are the parsers defined?

  • in package org.matheclipse.core.parser the main ExprParser class is implemented to transform an input string directly to an IExpr object
  • the basic parser structures are defined in package org.matheclipse.parser.client this Parser can be used on the client side without the whole Symja stuff. Inside Symja the AST2Expr class is used to transform the client side ASTNode into an IExpr.
  • 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.

Where is the structural pattern-matching implemented?


Where are the main JUnit tests located?


What is the preferred Java code formatter?

  • the Google Java Formatter, which reformats Java source code to comply with Google Java Style, is used for formatting Java source codes.

How can I generate the Javadoc files with Maven?

  • use the command line and run the Maven command mvn clean javadoc:javadoc
Clone this wiki locally