Renamed run -> include

This commit is contained in:
Devine Lu Linvega 2019-07-18 10:57:49 +09:00
parent 557750c3f8
commit c71cd4a6de
5 changed files with 21 additions and 22 deletions

View File

@ -34,7 +34,7 @@ function Commander (ronin) {
} }
this.reindent = function () { this.reindent = function () {
let val = this._input.value.replace(/\n/g, '').replace(/\( \(/g, '((').replace(/\) \)/g, '))').replace(/ {2}/g, ' ').trim() let val = this._input.value.replace(/\n/g, '').replace(/ +(?= )/g, '').replace(/\( \(/g, '((').replace(/\) \)/g, '))').trim()
let depth = 0 let depth = 0
for (let i = 0; i < val.length; i++) { for (let i = 0; i < val.length; i++) {
const c = val.charAt(i) const c = val.charAt(i)

View File

@ -20,9 +20,9 @@ function Lisp (input, lib) {
const special = { const special = {
include: (input, context) => { include: (input, context) => {
const p = input[1].value if (!input[1].value || !fs.existsSync(input[1].value)) { console.warn('Source', input[1].value); return [] }
if (!fs.existsSync(p)) { console.warn('Source', p); return [] } const file = fs.readFileSync(input[1].value, { encoding: 'utf-8' })
const file = fs.readFileSync(p, { encoding: 'utf-8' }) console.log(input, context)
return interpret(this.parse(file), context) return interpret(this.parse(file), context)
}, },
let: function (input, context) { let: function (input, context) {

4
examples/include.lisp Normal file
View File

@ -0,0 +1,4 @@
; include
(
(include "../examples/recursive.lisp")
(echo line-color))

View File

@ -1,17 +1,16 @@
; recursive ; recursive
( (
(clear) (clear)
(def line-color "red")
(defn rec (defn rec
(v) (v)
(if (gt v 0) (if
((stroke (circle (gt v 0)
(
(stroke
(circle
(mul 5 v) (mul 5 v)
(mul 5 v) (mul 5 v)
(mul 5 v)) 1 line-color) (mul 5 v)) 1 "red")
(rec (sub v 5)))) (rec
) (sub v 5)))))
(rec 100))
(rec 100)
)

View File

@ -1,4 +0,0 @@
(
(include "../examples/recursive.lisp")
(echo line-color)
)