Skip to content

toyintelligence/myownlang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myownlang

Python製の自作インタプリタ言語。文はALGOL風だが、式はLISP風。何も勉強せずに作ったのでとても非効率。ASTを使っておらず再帰が変でバグがあるかも。関数が実装できなさそうな事に気づいたので(ほぼ)開発終了。

演算子など: END,PRINT,DEFVAR,ASSIGN,(,),+,-,*,/,>,<,>=,<=,==,!=,&,|,IF,WHILE,{,},INPUT,EVAL

Python上でHello world:

from myownlang import *

src = """
PRINT 42
END
"""

main(src, debug_mode=0)

ターミナル上でHello world:

python myownlang.py "
PRINT 42
END
"

FizzBuzz:

DEFVAR x
ASSIGN x 1
DEFVAR xmax
INPUT xmax
WHILE (<= x xmax) {
    IF (== 0 (% x 3)) {
        IF (== 0 (% x 5)) {
            PRINT 333555
        }
        IF (!= 0 (% x 5)) {
            PRINT 333
        }
    }
    IF (!= 0 (% x 3)) {
        IF (== 0 (% x 5)) {
            PRINT 555
        }
        IF (!= 0 (% x 5)) {
            PRINT x
        }
    }
    ASSIGN x (+ x 1)
}
END

Releases

No releases published

Packages

No packages published

Languages