Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
99493865c1 | |||
d6d8403829 | |||
663154ba24 |
4
Gemfile
4
Gemfile
@ -1,6 +1,8 @@
|
|||||||
source "http://rubygems.org"
|
source "http://rubygems.org"
|
||||||
|
|
||||||
gem "parslet"
|
gem "rake"
|
||||||
|
|
||||||
|
gem "salama-reader" , :path => "."
|
||||||
|
|
||||||
# Add dependencies to develop your gem here.
|
# Add dependencies to develop your gem here.
|
||||||
# Include everything needed to run rake, tests, features, etc.
|
# Include everything needed to run rake, tests, features, etc.
|
||||||
|
18
Gemfile.lock
18
Gemfile.lock
@ -1,10 +1,17 @@
|
|||||||
|
PATH
|
||||||
|
remote: .
|
||||||
|
specs:
|
||||||
|
salama-reader (0.2.0)
|
||||||
|
parslet (~> 1.7.0)
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
remote: http://rubygems.org/
|
remote: http://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
blankslate (2.1.2.4)
|
blankslate (3.1.3)
|
||||||
minitest (5.3.2)
|
minitest (5.6.1)
|
||||||
parslet (1.6.1)
|
parslet (1.7.0)
|
||||||
blankslate (~> 2.0)
|
blankslate (>= 2.0, <= 4.0)
|
||||||
|
rake (10.4.2)
|
||||||
rubygems-tasks (0.2.4)
|
rubygems-tasks (0.2.4)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
@ -12,5 +19,6 @@ PLATFORMS
|
|||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
minitest
|
minitest
|
||||||
parslet
|
rake
|
||||||
rubygems-tasks
|
rubygems-tasks
|
||||||
|
salama-reader!
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Gem::Specification.new do |s|
|
Gem::Specification.new do |s|
|
||||||
s.name = 'salama-reader'
|
s.name = 'salama-reader'
|
||||||
s.version = '0.0.3'
|
s.version = '0.2.0'
|
||||||
|
|
||||||
s.authors = ['Torsten Ruger']
|
s.authors = ['Torsten Ruger']
|
||||||
s.email = 'torsten@villataika.fi'
|
s.email = 'torsten@villataika.fi'
|
||||||
@ -13,4 +13,6 @@ Gem::Specification.new do |s|
|
|||||||
s.require_paths = ['lib']
|
s.require_paths = ['lib']
|
||||||
s.summary = 'Ruby parser for the salama machine'
|
s.summary = 'Ruby parser for the salama machine'
|
||||||
|
|
||||||
|
s.add_dependency 'parslet', '~> 1.7.0'
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -17,7 +17,7 @@ HERE
|
|||||||
end
|
end
|
||||||
|
|
||||||
def pest_while_reverse
|
def pest_while_reverse
|
||||||
@string_input = "puts "1" while true "
|
@string_input = "puts '1' while true "
|
||||||
@parse_output = {:expression_list=>[{:while=>"while", :while_cond=>{:integer=>"1"}, :do=>"do", :body=>{:expressions=>[{:l=>{:name=>"tmp"}, :o=>"= ", :r=>{:name=>"a"}}, {:call_site=>{:name=>"puts"}, :argument_list=>[{:argument=>{:name=>"b"}}]}], :end=>"end"}}]}
|
@parse_output = {:expression_list=>[{:while=>"while", :while_cond=>{:integer=>"1"}, :do=>"do", :body=>{:expressions=>[{:l=>{:name=>"tmp"}, :o=>"= ", :r=>{:name=>"a"}}, {:call_site=>{:name=>"puts"}, :argument_list=>[{:argument=>{:name=>"b"}}]}], :end=>"end"}}]}
|
||||||
@transform_output = Ast::ExpressionList.new( [Ast::WhileExpression.new(Ast::IntegerExpression.new(1), [Ast::AssignmentExpression.new(Ast::NameExpression.new(:tmp),Ast::NameExpression.new(:a)), Ast::CallSiteExpression.new(:puts, [Ast::NameExpression.new(:b)] ,Ast::NameExpression.new(:self))] )])
|
@transform_output = Ast::ExpressionList.new( [Ast::WhileExpression.new(Ast::IntegerExpression.new(1), [Ast::AssignmentExpression.new(Ast::NameExpression.new(:tmp),Ast::NameExpression.new(:a)), Ast::CallSiteExpression.new(:puts, [Ast::NameExpression.new(:b)] ,Ast::NameExpression.new(:self))] )])
|
||||||
@parser = @parser
|
@parser = @parser
|
||||||
|
@ -18,7 +18,7 @@ HERE
|
|||||||
end
|
end
|
||||||
|
|
||||||
def pest_while_reverse
|
def pest_while_reverse
|
||||||
@string_input = "puts "1" while true "
|
@string_input = "puts '1' while true "
|
||||||
@parse_output = {:while=>"while", :while_cond=>{:integer=>"1"}, :do=>"do", :body=>{:expressions=>[{:l=>{:name=>"tmp"}, :o=>"= ", :r=>{:name=>"a"}}, {:call_site=>{:name=>"puts"}, :argument_list=>[{:argument=>{:name=>"b"}}]}], :end=>"end"}}
|
@parse_output = {:while=>"while", :while_cond=>{:integer=>"1"}, :do=>"do", :body=>{:expressions=>[{:l=>{:name=>"tmp"}, :o=>"= ", :r=>{:name=>"a"}}, {:call_site=>{:name=>"puts"}, :argument_list=>[{:argument=>{:name=>"b"}}]}], :end=>"end"}}
|
||||||
@transform_output = Ast::WhileExpression.new(Ast::IntegerExpression.new(1), [Ast::AssignmentExpression.new(Ast::NameExpression.new(:tmp),Ast::NameExpression.new(:a)), Ast::CallSiteExpression.new(:puts, [Ast::NameExpression.new(:b)] ,Ast::NameExpression.new(:self))] )
|
@transform_output = Ast::WhileExpression.new(Ast::IntegerExpression.new(1), [Ast::AssignmentExpression.new(Ast::NameExpression.new(:tmp),Ast::NameExpression.new(:a)), Ast::CallSiteExpression.new(:puts, [Ast::NameExpression.new(:b)] ,Ast::NameExpression.new(:self))] )
|
||||||
@parser = @parser.while_do
|
@parser = @parser.while_do
|
||||||
|
Reference in New Issue
Block a user