Gentee - script programming language for automation. It uses VM and compiler written in Go (Golang).

Overview

Gentee script programming language

Build Status Go Report Card GoDoc

Gentee is a free open source script programming language. The Gentee programming language is designed to create scripts to automate repetitive actions and processes on your computer. If you use or plan to use .bat files, bash, PowerShell or special programs to automate actions, then try doing the same thing with Gentee.

Want to see a sample application that successfully uses the Gentee programming language? Take a look at Eonza, a free cross-platform program for easy creation and management of scripts.

Documentation

All documentation is available on GitHub.

Download

You can download other binary distributions for Linux, macOS, Windows here.

Go integration

You can use the Gentee compiler and virtual machine in golang projects without any restrictions.
Documentation is available here.

How to run Gentee scripts

$ go get -u github.com/gentee/gentee
$ cd gentee/gentee/cli
$ go build
  • Specify the script file when running gentee. The script file can have any extension.
Linux: ./gentee myscript.g 
Wndows: gentee.exe myscript.g
  • Also, you can associate the gentee program with script files in your operating system.

Gentee compiler/interpreter

gentee [-ver] [-t] <scriptname> [command-line parameters for script]

By default, the program prints the output of the script to the console and returns 0 if successful.

Command line parameters

  • scriptname - full or relative path to the script file. You can specify the command line parameters for the script after the script file name.
  • -ver - show the current version of Gentee language.
  • -t - test the script. When using this parameter, the script must have the result parameter in the header with the expected value (example). In this mode, the program does not output the result of the script execution to the console. If the result does not match, an error message is displayed and an error code 4 is returned.

Error code

Code Description
1 The script file was not found.
2 Compilation error.
3 Runtime Error.
4 The result is erroneous at start with the -t parameter.

Support

If you have any questions and suggestions or would like to help in the development, add your issue here.

License

MIT

Copyright (c) 2018-present, Alexey Krivonogov

You might also like...
The interpreter for qiitan script. Yet another dialect of the Tengo language.

Qiitan は、Qiita ™️ の SNS である「Qiitadonβ」のマスコット・キャラクターです。 キーたん(Qiitan) @ Qiitadon Qiitan-go は Qiitan のファン・アプリであり、Qiita ™️ とは一切関係がありません。 Qiitan-goalpha キー

Cc - Toy C compiler for golang

Grammars program = funcDecl* decl = declspec declarator ("{" compou

GopherLua: VM and compiler for Lua in Go

GopherLua: VM and compiler for Lua in Go. GopherLua is a Lua5.1 VM and compiler written in Go. GopherLua has a same goal with Lua: Be a scripting lang

PHP bindings for the Go programming language (Golang)

PHP bindings for Go This package implements support for executing PHP scripts, exporting Go variables for use in PHP contexts, attaching Go method rec

WindLang, A simple programming language built with golang 🍃
WindLang, A simple programming language built with golang 🍃

WindLang, A simple programming language built with golang 🍃 WindLang, A simple programming language built with golang 🍃 What is wind? Playground Coo

Bfc - A compiler for brainfuck by someone who has no idea how compilers work

bfc bfc is a bad (probably) Brainfuck compiler. It compiles only to x64 assembly

⛳ A minimal programming language inspired by Ink, JavaScript, and Python.

⛳ Golfcart My blog post: Creating the Golfcart Programming Language Getting Started Scope Rules Usage Building and tests Contributions License Golfcar

Simple, safe and compiled programming language.

The X Programming Language Simple, safe and compiled programming language. Table of Contents Overview OS Support Contributing License Overview The X p

a dynamically typed, garbage collected, embeddable programming language built with Go

The agora programming language Agora is a dynamically typed, garbage collected, embeddable programming language. It is built with the Go programming l

Comments
  • Conversion between Gentee types and Golang types

    Conversion between Gentee types and Golang types

    Is there any example, or already included easy way to convert between Golang and Gentee types?

    For example to convert between a Golang Map to a Gentee Map, i made the following function:

    func GoMap2GenteeMap(goMap map[string]interface{}) *core.Map {
    	ret := core.NewMap()
    	for key, _ := range goMap {
    		ret.Keys = append(ret.Keys, key)
    	}
    	ret.Data = goMap
    	return ret
    }
    

    But i have the feeling as if i am missing something.

    Sorry if it is obvious, but i am still relatively new to Golang.

    opened by lsascha 10
  • Ctrl+Esc to stop running scripts does not work on W10 PC

    Ctrl+Esc to stop running scripts does not work on W10 PC

    In Windows 10 pressing Ctrl+Esc in "Perfect Automation" project's executable (hidden) causes the Start Menu to activate, so I am unable to cancel execution of a macro. Is there a way to alter the "Stop Execution"Key combination?

    opened by raisinc 2
  • Add examples

    Add examples

    Hey Alexey

    great project :) by change you can add a few examples in the documentation? that anyone just can run easy like ./gentee example1.g and see a full script with gentee?

    I'm wrong or this is not related to this project? https://www.gentee.com/programming/samples/

    opened by John3 2
  • -v   IS IN FACT   -ver

    -v IS IN FACT -ver

    " -v - show the current version of Gentee language. " -ver

    Very nice product to discover & follow, it is playfull. Now API, libs,... Go compiles Gentee in 3.69M, RED makes ~1M ... what a competition in sight.

    opened by fr001 0
Releases(v1.22.0)
Owner
Alexey Krivonogov
Alexey Krivonogov
ReCT-Go-Compiler - A compiler for the ReCT programming language written in Golang

ReCT-Go-Compiler A compiler for the ReCT programming language written in Golang

null 6 Nov 30, 2022
T# Programming Language. Something like Porth, Forth but written in Go. Stack-oriented programming language.

The T# Programming Language WARNING! THIS LANGUAGE IS A WORK IN PROGRESS! ANYTHING CAN CHANGE AT ANY MOMENT WITHOUT ANY NOTICE! Something like Forth a

T# 92 Jun 29, 2022
Go compiler made from scratch, which can compile itself. It's going to be the smallest and simplest go compiler in the world.

Babygo, a go compiler made from scratch Babygo is a small and simple go compiler. (Smallest and simplest in the world, I believe.) It is made from scr

DQNEO 227 Nov 28, 2022
Monkey programming language project from 'Writing An Interpreter In Go'and 'Writing A Compiler In Go' Books

Monkey Monkey programming language ?? project from "Writing An Interpreter In Go

Amr Hesham 1 Dec 16, 2021
Floppa programming language inspired by the brainf*ck programming language. Created just for fun and you can convert your brainf*ck code to floppa code.

Floppa Programming Language Created just for fun. But if you want to contribute, why not? Floppa p.l. inspired by the brainf*ck programming language.

null 19 Oct 20, 2022
Yayx programming language is begginer friendly programming language.

Yayx Yayx programming language is begginer friendly programming language. What have yayx: Easy syntax Dynamic types Can be compiled to outhers program

null 1 Dec 27, 2021
Yayx programming language is begginer friendly programming language.

Yayx Yayx programming language is begginer friendly programming language. What have yayx: Easy syntax Dynamic types Can be compiled to outhers program

Yayx Programming Language 7 May 20, 2022
Compiler for a small language into x86-64 Assembly

Compiler This project is a small compiler, that compiles my own little language into X86-64 Assembly. It then uses yasm and ld to assemble and link in

Maurice Tollmien 241 Nov 3, 2022
A simple virtual machine - compiler & interpreter - written in golang

go.vm Installation Build without Go Modules (Go before 1.11) Build with Go Modules (Go 1.11 or higher) Usage Opcodes Notes The compiler The interprete

Steve Kemp 260 Nov 16, 2022
A multi-pass compiler written in Go comprised of scanner, recursive-descent parser, generation of AST, intermediate representation (ILOC), and code generation (Armv8).

GoLite Project - Go Huskies! This is a project conducted and led in the course MPCS 51300 Compilers at the University of Chicago. In a group of two, w

ocd_with_naming 0 Jan 10, 2022