RINEARN
HOMEINFOSOFTTECHAICONTACT
RINEARN > English Top > News > 2025
[ Prev | Index | Next ]
2025/10/31
Japanese English

Exevalator Updated — Easy Japanese Localization for Error Messages

We've released Exevalator (a compact expression-evaluation library) Ver. 2.2.2.

This post walks you through what's new in this update.

- Table of Contents -
  • What is Exevalator?
  • Starting with this release, it's easy to switch error messages to Japanese
  • Bug fixes and minor adjustments

What is Exevalator?

First, a quick refresher — what exactly is Exevalator?

A library that evaluates expressions from strings

Exevalator is a library for use cases where you need to evaluate a mathematical expression given as a string and obtain its result in your app.

For example, given strings like:

"1.2 + 3.4 * 5.6"
"(sin(1.2) + cos(3.4)) / sqrt(5.6)"

it returns the results:

20.24
-0.01468840...

In short, it behaves like a scientific calculator you can embed in your application.

In fact, the recently released online version of the RINPn scientific calculator uses Exevalator for computation: Inside RINPn Online: Architecture Overview

RINPn Online Window

Compact implementation with multi-language support

At RINEARN we develop several language processing systems, and Exevalator keeps its implementation very compact by focusing solely on expression evaluation.

Concretely, the entire logic fits in a single file, so you can just drop it into your project's source folder and use it — a true single-file library.

Because it's compact, it's easy to port. As of now it supports six languages: Java, Rust, C++, C#, VB.NET, and TypeScript. Python support is planned in the near future.

Learn more on the official site

That's the gist of Exevalator. For details, please see the official site:

  • Exevalator Official Website

Exevalator is open source, and the repository is on GitHub. If you're comfortable with GitHub, jumping straight there may be the fastest route:

  • Exevalator Source Code Repository (GitHub)

Starting with this release, it's easy to switch error messages to Japanese

Here's what's new in this update.

As a baseline, if you use Exevalator as-is, error messages are shown in English. For example:

The number of open parentheses '(' is deficient.

There are cases where you’d prefer Japanese, like:

開き括弧 '(' の数が足りません。

So how do you customize the error messages?

  • The error messages are defined together near the top of the source — you can edit them directly: https://github.com/RINEARN/exevalator/blob/main/java/Exevalator.java

That's the basic approach. It's straightforward, but since Exevalator is a small single-file library, we believe this approach is preferable to adding heavy mechanisms.

That said, many people will want "Japanese messages" specifically, and having everyone translate them individually would be wasteful.

So from this release, we've bundled a Japanese-translated error-message file: `ERROR_MESSAGE_JAPANESE.*`: https://github.com/RINEARN/exevalator/blob/main/java/ERROR_MESSAGE_JAPANESE.java

Just copy and paste its contents to overwrite the error-message section in the Exevalator source, and you're done — messages will appear in Japanese.

Bug fixes and minor adjustments

In addition to the above, this release includes a few fixes and tweaks.

Fixed: multiple consecutive unary minus operators

Previously, expressions with multiple consecutive unary minus operators were not handled correctly, e.g.:

1.2*--5.6
1.2*---5.6
1.2*----5.6

While such forms are uncommon (hence missing from our tests), they should be interpreted as:

1.2*(-(-5.6))
1.2*(-(-(-5.6)))
1.2*(-(-(-(-5.6))))

However, the parser's analysis went wrong, and incorrect values such as 5.6 were returned (the exact wrong value depended on the expression).

This has been fixed in the current version.

» Commit

We sincerely apologize for any inconvenience caused by this bug.

Fixed: parentheses containing a single value raised an error

We also fixed a bug where an expression containing parentheses around a single value would cause an error, for example:

1.2 + 3.4 + (5.6)

» Commit

This bug affected the TypeScript version only; other language implementations were not affected.

Other parser fine-tuning

Alongside the first fix, we made a small algorithmic adjustment to the parser:

» Commit

Concretely, the comma used as a function-argument separator (,) is now treated as an operator rather than as a special grammar case.

This change requires no action from library users and should have no visible effect in normal use. If you extend or modify the parser itself, please take note.

-

That's all for this update.

We'll continue to share Exevalator news here as things progress!


Author of This Article

Fumihiro Matsui
[ Founder of RINEARN, Doctor of Science (Physics), Applied Info Tech Engineer ]
Develops VCSSL, RINEARN Graph 3D and more. Also writes guides and articles.
| About Me | Contact |

Translation Cooperator

ChatGPT AIs
[ GPT-3.5, 4, 5, 5.1 ]
We greatly appreciate the cooperation of ChatGPT AIs in translating this article.
» How we translated this article

Japanese English
[ Prev | Index | Next ]
RINEARN > English Top > News > 2025

Exevalator v2.4 Released — MCP Support Added, Now Usable as an AI Calculation Tool
2025-11-15 - We've released Exevalator v2.4, our expression-evaluation library. Starting with this version, it supports MCP, making it usable as a calculation tool for AI assistants.

Exevalator v2.3 Released — Now Usable from Python
2025-11-04 - We've released Exevalator v2.3. Starting with this version, you can now use it from Python! With growing demand around AI tool development in mind, we share the details here.

Exevalator Updated — Easy Japanese Localization for Error Messages
2025-10-31 - Exevalator 2.2.2 is out. You can now localize error messages to Japanese with a simple copy-and-paste, and we've included several bug fixes and minor parser adjustments.

Inside RINPn Online: Architecture Overview
2025-10-22 - An inside look at the architecture of the recently launched online version of the RINPn scientific calculator. It's open source, so you can freely modify and reuse it to build your own web calculator (maybe!).

Meet RINPn Online: Use the Scientific Calculator Anywhere, Instantly
2025-10-21 - RINPn, the free scientific calculator, now has an online version you can use instantly in your browser — on both PC and smartphones. Read the announcement for details.

The VCSSL Support AI is Here! — Requires a ChatGPT Plus Account for Practical Performance
2025-08-19 - A new AI assistant for the VCSSL programming language is here to answer your questions and help with coding. This article explains how to use it and showcases plenty of real Q&A and generated code examples.

English Documentation for Our Software and VCSSL Is Now Nearly Complete
2025-06-30 - We're happy to announce that the large-scale expansion of our English documentation with the support of AI — a project that began two years ago — has now reached its initial target milestone.

VCSSL 3.4.52 Released: Enhanced Integration with External Programs and More
2025-05-25 - This update introduces enhancements to the external program integration features (e.g., for running C-language executables). Several other improvements and fixes are also included. Details inside.

Released: Latest Version of VCSSL with Fixes for Behavioral Changes on Java 24
2025-04-22 - VCSSL 3.4.50 released with a fix for a subtle behavioral change in absolute path resolution on network drives, introduced in Java 24. Details inside.

Index of this category
RINEARN > English Top > News > 2025
[ Prev | Index | Next ]
  • Exevalator v2.4 Released — MCP Support Added, Now Usable as an AI Calculation Tool
  • Exevalator v2.3 Released — Now Usable from Python
  • Exevalator Updated — Easy Japanese Localization for Error Messages
  • Inside RINPn Online: Architecture Overview
  • Meet RINPn Online: Use the Scientific Calculator Anywhere, Instantly
  • The VCSSL Support AI is Here! — Requires a ChatGPT Plus Account for Practical Performance
  • English Documentation for Our Software and VCSSL Is Now Nearly Complete
  • VCSSL 3.4.52 Released: Enhanced Integration with External Programs and More
  • Released: Latest Version of VCSSL with Fixes for Behavioral Changes on Java 24
News

Exevalatorv2.4Released—MCPSupportAdded,NowUsableasanAICalculationTool
2025-11-15 - We'vereleasedExevalatorv2.4,ourexpression-evaluationlibrary.Startingwiththisversion,itsupportsMCP,makingitusableasacalculationtoolforAIassistants.

Exevalatorv2.3Released—NowUsablefromPython
2025-11-04 - We'vereleasedExevalatorv2.3.Startingwiththisversion,youcannowuseitfromPython!WithgrowingdemandaroundAItooldevelopmentinmind,wesharethedetailshere.

ExevalatorUpdated—EasyJapaneseLocalizationforErrorMessages
2025-10-31 - Exevalator2.2.2isout.YoucannowlocalizeerrormessagestoJapanesewithasimplecopy-and-paste,andwe'veincludedseveralbugfixesandminorparseradjustments.

InsideRINPnOnline:ArchitectureOverview
2025-10-22 - AninsidelookatthearchitectureoftherecentlylaunchedonlineversionoftheRINPnscientificcalculator.It'sopensource,soyoucanfreelymodifyandreuseittobuildyourownwebcalculator(maybe!).

MeetRINPnOnline:UsetheScientificCalculatorAnywhere,Instantly
2025-10-21 - RINPn,thefreescientificcalculator,nowhasanonlineversionyoucanuseinstantlyinyourbrowser—onbothPCandsmartphones.Readtheannouncementfordetails.

TheVCSSLSupportAIisHere!—RequiresaChatGPTPlusAccountforPracticalPerformance
2025-08-19 - AnewAIassistantfortheVCSSLprogramminglanguageisheretoansweryourquestionsandhelpwithcoding.ThisarticleexplainshowtouseitandshowcasesplentyofrealQ&Aandgeneratedcodeexamples.

EnglishDocumentationforOurSoftwareandVCSSLIsNowNearlyComplete
2025-06-30 - We'rehappytoannouncethatthelarge-scaleexpansionofourEnglishdocumentationwiththesupportofAI—aprojectthatbegantwoyearsago—hasnowreacheditsinitialtargetmilestone.

VCSSL3.4.52Released:EnhancedIntegrationwithExternalProgramsandMore
2025-05-25 - Thisupdateintroducesenhancementstotheexternalprogramintegrationfeatures(e.g.,forrunningC-languageexecutables).Severalotherimprovementsandfixesarealsoincluded.Detailsinside.

» View More Articles
See Our News
on Twitter !
RINEARN Official Website | Top Page | Privacy Policy |
This website uses cookies for serving ads and analyzing traffic data. By continuing to use this website, you agree to our privacy policy.
This website is managed by RINEARN. All rights to the contents of this website are owned by RINEARN and its owner.
Copyright(C) RINEARN 2009 - 2025 All rights reserved.