All Projects → k-mrm → maxc

k-mrm / maxc

Licence: MIT License
Programming Language maxc

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to maxc

Corium
Corium is a modern scripting language which combines simple, safe and efficient programming.
Stars: ✭ 18 (-50%)
Mutual labels:  interpreter, virtual-machine
Arduino-FVM
Byte Token Threaded Forth Virtual Machine (FVM) for Arduino
Stars: ✭ 35 (-2.78%)
Mutual labels:  interpreter, virtual-machine
clover2
Clover2 can be used as shell. The completion is powerfull like IDE. Also clover2 is a Ruby-like compiler language with static type like Java. This is high performnace. Please see the wiki for details
Stars: ✭ 100 (+177.78%)
Mutual labels:  interpreter, virtual-machine
openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,973 (+8158.33%)
Mutual labels:  interpreter, virtual-machine
jaws
Jaws is an invisible programming language! Inject invisible code into other languages and files! Created for security research -- see blog post
Stars: ✭ 204 (+466.67%)
Mutual labels:  interpreter, virtual-machine
thislang
A subset of javascript implemented in that subset of javascript. Yes, it can run itself.
Stars: ✭ 31 (-13.89%)
Mutual labels:  interpreter, virtual-machine
ol
Otus Lisp (Ol in short) is a purely* functional dialect of Lisp.
Stars: ✭ 157 (+336.11%)
Mutual labels:  interpreter, virtual-machine
ciao
Ciao is a modern Prolog implementation that builds up from a logic-based simple kernel designed to be portable, extensible, and modular.
Stars: ✭ 190 (+427.78%)
Mutual labels:  interpreter, virtual-machine
vein
🔮⚡️Vein is an open source high-level strictly-typed programming language with a standalone OS, arm and quantum computing support.
Stars: ✭ 31 (-13.89%)
Mutual labels:  interpreter, virtual-machine
jingle
🔔 Jingle is a dynamically-typed, multi-paradigm programming language designed for humans and machines.
Stars: ✭ 34 (-5.56%)
Mutual labels:  interpreter, virtual-machine
lunatic
lunatic: a toy lua interpreter
Stars: ✭ 16 (-55.56%)
Mutual labels:  interpreter, virtual-machine
hematita
A memory safe Lua interpreter
Stars: ✭ 118 (+227.78%)
Mutual labels:  interpreter, virtual-machine
embed
An embeddable, tiny Forth interpreter with metacompiler.
Stars: ✭ 80 (+122.22%)
Mutual labels:  interpreter, virtual-machine
minima
A fast, byte-code interpreted language
Stars: ✭ 43 (+19.44%)
Mutual labels:  interpreter, virtual-machine
Laythe
A gradually typed language originally based on the crafting interpreters series
Stars: ✭ 58 (+61.11%)
Mutual labels:  interpreter, virtual-machine
RSqueak
A Squeak/Smalltalk VM written in RPython.
Stars: ✭ 78 (+116.67%)
Mutual labels:  interpreter, virtual-machine
wizard-engine
Research WebAssembly Engine
Stars: ✭ 164 (+355.56%)
Mutual labels:  interpreter, virtual-machine
Freeze-OS
An Operating System that runs on top of an interpreter.
Stars: ✭ 24 (-33.33%)
Mutual labels:  interpreter, virtual-machine
Animach
Scheme语言实现和运行时环境 / A Scheme runtime & implementation
Stars: ✭ 45 (+25%)
Mutual labels:  interpreter, virtual-machine
X11Basic
X11-Basic BASIC programming language.
Stars: ✭ 42 (+16.67%)
Mutual labels:  interpreter, virtual-machine

maxc

Build Status

maxc is a scripting language implemented in C.

  • static typing
  • comfortable coding

Sample Code

Please see /test directory.

hello.mxc

println("Hello, World!");
Hello, World!

for.mxc

for s in ["morning", "evening", "night"] {
  println "Good ", s;
}
Good morning
Good evening
Good night

fibo.mxc

def fibo(n: int): int {
    if n <= 1 {
        return n;
    }

    return fibo(n - 2) + fibo(n - 1);
}

30.fibo().println();
30.fibo.println;
832040
832040

repl

$ ./maxc
Welcome to maxc repl mode!
maxc Version 0.0.1
use exit(int) or Ctrl-D to exit
>> let a = 10
>> a
10 : int
>> use math@sqrt
>> let n = 2.0
>> n.sqrt
1.41421356 : float
>> [10; 0]
[0,0,0,0,0,0,0,0,0,0] : [int]
>> 

How To Build

on Linux

  1. Install gcc and make

  2. get maxc from github

$ git clone https://github.com/k-mrm/maxc.git
$ cd maxc
  1. Build
$ make
$ ./maxc                    # run repl
$ ./maxc example/hello.mxc  # run from source file

Document(Japanese)

https://admarimoin.hatenablog.com/entry/2019/08/28/155346

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].