rename bosl to phisol
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
class Compiler < AST::Processor
|
||||
|
||||
def initialize()
|
@ -23,7 +23,7 @@ The compiler has a method for each type for ast, named along on_xxx with xxx as
|
||||
|
||||
#### Compiler holds scope
|
||||
|
||||
The Compiler instance can hold arbitrary scope needed during the compilation. Since we compile bosl
|
||||
The Compiler instance can hold arbitrary scope needed during the compilation. Since we compile Phisol
|
||||
(a static language) things have become more simple.
|
||||
|
||||
A class statement sets the current @clazz scope , a method definition the @method.
|
||||
@ -69,10 +69,10 @@ The important thing here is that Messages and Frames are normal objects.
|
||||
|
||||
### Distinctly future proof
|
||||
|
||||
Bosl is designed to be used as an implementation language for a higher oo language. Some, or
|
||||
Phisol is designed to be used as an implementation language for a higher oo language. Some, or
|
||||
even many, features may not make sense on their own. But these features, like several return
|
||||
addresses, are important to implement the higher language.
|
||||
|
||||
In fact, Bosl's main purpose is not even to be written. The main purpose is to have a language to
|
||||
In fact, Phisol's main purpose is not even to be written. The main purpose is to have a language to
|
||||
compile ruby to. In the same way that the assembler layer in salama is not designed to be written,
|
||||
we just need it to create our layers.
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
# collection of the simple ones, int and strings and such
|
||||
|
||||
Compiler.class_eval do
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
def on_call expression
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
def on_class_field expression
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
# attr_reader :values
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
# list - attr_reader :expressions
|
||||
def on_expressions expession
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
def on_field_access expression
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
def on_field_def expression
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
def on_function expression
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
# if - attr_reader :cond, :if_true, :if_false
|
||||
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
# module attr_reader :name ,:expressions
|
||||
def on_module expression
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
# attr_reader :name
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
def on_operator expression
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
# return attr_reader :expression
|
@ -1,4 +1,4 @@
|
||||
module Bosl
|
||||
module Phisol
|
||||
Compiler.class_eval do
|
||||
|
||||
def on_while expression
|
@ -17,8 +17,8 @@ Slightly more here : http://salama.github.io/2014/06/10/more-clarity.html (then
|
||||
|
||||
The Builtin module is scattered into several files, but that is just so the file doesn't get too long.
|
||||
|
||||
Note: This is about to change slightly with the arrival of Bosl. Bosl is a lower level function,
|
||||
Note: This is about to change slightly with the arrival of Phisol. Phisol is a lower level function,
|
||||
and as such there is not much that we need that can not be expressed in it. My current thinking
|
||||
is that i can code anything in bosl and will only need the bosl instruction set.
|
||||
is that i can code anything in Phisol and will only need the Phisol instruction set.
|
||||
So this whole Builtin approach may blow over in the next months. It had already become clear that
|
||||
mostly this was going to be about memory access, which in bosl is part of the language.
|
||||
mostly this was going to be about memory access, which in Phisol is part of the language.
|
||||
|
@ -5,7 +5,7 @@ require "virtual/positioned"
|
||||
require "virtual/padding"
|
||||
require "virtual/parfait_adapter"
|
||||
|
||||
require "bosl/compiler"
|
||||
require "Phisol/compiler"
|
||||
require "virtual/instruction"
|
||||
require "virtual/method_source"
|
||||
require "virtual/slots/slot"
|
||||
|
@ -136,7 +136,7 @@ module Virtual
|
||||
syntax = @parser.parse_with_debug(bytes)
|
||||
parts = Parser::Transform.new.apply(syntax)
|
||||
#puts parts.inspect
|
||||
Bosl::Compiler.compile( parts )
|
||||
Phisol::Compiler.compile( parts )
|
||||
end
|
||||
|
||||
private
|
||||
|
Reference in New Issue
Block a user