Skip to content
/ tcalc Public

Simple computational programming language.

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

Dessera/tcalc

Repository files navigation

Contributors Forks Stargazers Issues Unlicense License


Logo

TCALC

Simple computational programming language.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Tcalc is a simple computational programming language, which supports basic arithmetic operations, variables, and functions.

Built With

  • C++23

Getting Started

Tested on Linux, with following environment:

  • Without tl-expected: GCC 12+ or Clang 16+ with GNU++23 support
  • With tl-expected: GCC 9+ or Clang 12+ with GNU++17 support

Prerequisites

The project is based on meson and ninja, so you need to install them first.

If you want to build the project with tl-expected, you need to install it: tl-expected.

If you want to build tcalc_gui, you need to install Qt6.

Installation

  1. Clone the repository:
git clone https://github.com/Dessera/tcalc.git
cd tcalc
  1. Use meson to build the project:
meson setup builddir
cd builddir
meson compile

Available options:

  • -Dbuild_gui=enabled: Build tcalc_gui
  • -Duse_tl_expected=enabled: Build with tl-expected rather than std::expected
  1. Install the product:
meson install --skip-subprojects

Usage

Temporarily REPL is available as a command line tool tcalc_repl.

Qt6-based GUI application tcalc_gui is also available.

For APIs, read the docs for more information.

Roadmap

  • More built-in functions
  • GUI application
  • import statements
  • Logic operations
  • User-defined functions (don't support recursion because no control flow statements)
  • Variables (only support double numbers)
  • Operator priority

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the LGPL-3.0 License. See COPYING and COPYING.LESSER for more information.

Contact

Dessera - @Dessera

Project Link: https://github.com/Dessera/tcalc

Acknowledgments

About

Simple computational programming language.

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published