tcalc 0.2.0
 
Loading...
Searching...
No Matches
README

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
  2. 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

  • [x] More built-in functions
  • [x] GUI application
  • [x] import statements
  • [x] Logic operations
  • [x] User-defined functions (don't support recursion because no control flow statements)
  • [x] Variables (only support double numbers)
  • [x] 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