GithubHelp home page GithubHelp logo

sinclairgurny / psil Goto Github PK

View Code? Open in Web Editor NEW
6.0 0.0 0.0 128 KB

Interpreter for my own LISP/Scheme like programming language built from the ground up!!

License: GNU General Public License v3.0

Makefile 3.06% C++ 96.94%
scheme-interpreter scheme scheme-programming-language lisp-interpreter lisp lisp-dialect programming-language interpreter lexer-parser syntax-tree

psil's Introduction

  ***********************************************
  ***_______*****_________****_______****___******
  **|\   _  \***|\   _____\**/\__   _\**|\  \******
  **\ \  \\  \**\ \  \____|**\/_ \  \/**\ \  \******
  ***\ \  \\  \**\ \  \_____****\ \  \***\ \  \******
   ***\ \  ___/***\ \____   \****\ \  \***\ \  \******
    ***\ \ \_/*****\/____|\  \****\ \  \***\ \  \******
     ***\ \ \*********____\\  \****\_\  \_**\ \  \_____*
      ***\ \_\*******/\________\**/\      \**\ \_______\*
       ***\/_/*******\/________/**\/______/***\/_______/*
        *************************************************


PSIL:
Stands for Programming Some Idiotic Lisp.
(It's actually based on Scheme Syntax)

PSIL is a interpreter for my own version of a LISP like language

Current version 1.0
For more information in docs/

written by Sinclair Gurny
July 2019

=====================================================================

Compiling:
make - for normal
make debug - for debugger friendly compilation
make clean - delete unnecessary files

Running:
./psil or ./psil_debug
  Runs PSIL in REPL mode
  Executes any code or command given.
./psil <code.psil> or ./psil_debug <code.psil>
  Runs PSIL in file mode,
  PSIL executes the code in the given .psil file, then exits.

REPL Commands:
quit - exits
exit - also exits
help - displays commands
psil - displays syntax of current version of PSIL

=====================================================================

Examples:
See examples/ for more.
For explanations of the examples see docs/EXAMPLES.

Hello World Program:
>> (print #\H #\e #\l #\l #\o #\, #\space #\W #\o #\r #\l #\d #\!)

Hello, World!

>> (begin
     (define fact (lambda (n)
                    (if (equal? n 1)
		        1
			(* n (fact (- n 1))))))
     (fact 10))

3628800

psil's People

Contributors

sinclairgurny avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

psil's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.