Menu

Tree [ab1b4f] EVAL-36-No-IDs /
 History

HTTPS access


File Date Author Commit
 .github 2022-04-30 itwithlyam itwithlyam [c0ad08] Create node.js1.yml
 .vscode 2022-04-30 Lyam Mosnier Lyam Mosnier [a55fc6] Fix some more
 evaluate 2022-05-11 Lyam Mosnier Lyam Mosnier [326398] Extension update
 src 2022-05-12 Lyam Mosnier Lyam Mosnier [ab1b4f] Equate and new tests
 test 2022-05-12 Lyam Mosnier Lyam Mosnier [ab1b4f] Equate and new tests
 .breakpoints 2022-02-03 lyammosnier1 lyammosnier1 [9c1d77] IT FIXED ITSELF
 .gitignore 2022-05-05 lyammosnier1 lyammosnier1 [31e34c] More stuff
 .replit 2022-04-22 lyammosnier1 lyammosnier1 [4ee62d] Fixed + changed npm scripts
 CODE_OF_CONDUCT.md 2022-01-02 itwithlyam itwithlyam [0b8e4d] Create CODE_OF_CONDUCT.md
 LICENSE 2022-01-02 itwithlyam itwithlyam [09e890] Create LICENSE
 Makefile 2022-04-29 lyammosnier1 lyammosnier1 [7577ff] Makefile modifications
 converting.asm 2022-05-11 lyammosnier1 lyammosnier1 [8d531d] It works!
 index.js 2022-05-01 Lyam Mosnier Lyam Mosnier [ee9896] Some changes
 out.asm 2022-05-07 Lyam Mosnier Lyam Mosnier [b3174a] Debugging ASCII with gdb
 package-lock.json 2022-05-01 Lyam Mosnier Lyam Mosnier [ee9896] Some changes
 package.json 2022-05-01 Lyam Mosnier Lyam Mosnier [ee9896] Some changes
 program.ev 2022-05-12 Lyam Mosnier Lyam Mosnier [ab1b4f] Equate and new tests
 readme.md 2022-04-30 Lyam Mosnier Lyam Mosnier [0d642d] More errors

Read Me

Evaluate

A homemade professional compiled programming language.

It compiles to NASM and can cross-compile, though it's cross-compilation capabilities haven't been verified.

Example program

Input

Int_64 number = 123456751
printf("num", "{number}\n")

Result: 123456751

Input:

equate("myEquation", "240*4")

Result: 840

Syntax guide has moved to GitHub discussions.

Installation

  1. Install NASM (The Netwide Assembler) and GNU Binutils on your desired computer. These are Evaluate's external dependencies.
  2. If you're using Visual Studio Code, the Evaluate Language Support extension is recommended.
  3. If it exists, download the Evaluate binary for your OS. If not, then build from source:

Build from source

  1. Install GNU Make. Make sure to add to PATH or envrionment variables.
  2. Install Node.js and npm (www.nodejs.org). Make sure to select npm when given the option by the node installer. Make sure to add to PATH or environment variables.
  3. Install the latest release of NASM (the Netwide Assembler) for your OS. Make sure to add to PATH or environment variables.
  4. If you're using Visual Studio Code, the Evaluate Language Support extension is recommended.
  5. Follow the instructions below for your OS.

Windows

Run make win, the output will be a .exe file

Unix (macos/linux)

Run make unix, the output will be an executable

MacOS app

Run make macosapp, the output will be a .app file

Run

  1. Template: evaluate <input> [args]

CLI Flags:

--input <file> -i <file> - Path to the target file - Default parameter
--verbose -v - Outputs stack modifications
--version - Version of Evaluate installation
--force -f - Forces the program to run
--disable-warnings - Do not show warnings
--output <output> -o <output> - defaults to "output" - The name of the outputted *.asm file.
--help -h - Outputs the args help menu
  1. Use NASM to compile the generated asm file. The OS-specific commands are:
Linux (highly supported): nasm -f elf <file>.asm
Windows (supported): nasm -f win32 <file>.asm
MacOS (not supported): nasm -f macho64 <file>.asm
  1. Link the object file (GCC can also be used).
Linux and MacOS: ld -o <file> <file>.o
Windows: ld -o <file>.exe <file>.o

Git

As you might have noticed, we have multiple GitHub branches. The order of reliability follows:

  1. Featured Experiments (branches starting with "EVAL", this is a Jira ID)
  2. Experimental Build (main)
  3. PTB - Public Test Build
  4. Production

with 1 being the least reliable and littered with bugs and 4 being the most reliable and without many bugs. To run anything other than production, you must use the --force flag.

MongoDB Logo MongoDB