gets rid of soml-parser completely

This commit is contained in:
Torsten Ruger
2016-12-08 20:13:08 +02:00
parent 4cd979e3e9
commit ca4bdcc528
21 changed files with 26 additions and 65 deletions

View File

@@ -32,7 +32,7 @@ module Typed
# Helper function to create a new compiler and compie the statement(s)
def self.compile statement
compiler = Compiler.new
code = Soml.ast_to_code statement
code = Typed.ast_to_code statement
compiler.process code
end
@@ -51,7 +51,7 @@ module Typed
# Dispatches `code` according to it's class name, for class NameExpression
# a method named `on_NameExpression` is invoked with one argument, the `code`
#
# @param [Soml::Code, nil] code
# @param [Typed::Code, nil] code
def process(code)
name = code.class.name.split("::").last
# Invoke a specific handler
@@ -173,23 +173,11 @@ module Typed
raise "space is a reserved name" if name == :space
name
end
# load the soml files from parfait directory
# Need to remove this and put it back into ruby code
def self.load_parfait
["word","class","type","message" ,"integer", "object"].each do |o|
str = File.open(File.expand_path("parfait/#{o}.soml", File.dirname(__FILE__))).read
syntax = Parser::Salama.new.parse_with_debug(str, reporter: Parslet::ErrorReporter::Deepest.new)
parts = Parser::Transform.new.apply(syntax)
code = Soml.ast_to_code parts
self.new.process( code )
end
end
end
end
require_relative "ast_helper"
require_relative "ast/code"
require_relative "compiler/assignment"
require_relative "compiler/basic_values"
require_relative "compiler/call_site"