Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
99493865c1 | |||
d6d8403829 | |||
663154ba24 |
4
Gemfile
4
Gemfile
@ -1,6 +1,8 @@
|
||||
source "http://rubygems.org"
|
||||
|
||||
gem "parslet"
|
||||
gem "rake"
|
||||
|
||||
gem "salama-reader" , :path => "."
|
||||
|
||||
# Add dependencies to develop your gem here.
|
||||
# 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
|
||||
remote: http://rubygems.org/
|
||||
specs:
|
||||
blankslate (2.1.2.4)
|
||||
minitest (5.3.2)
|
||||
parslet (1.6.1)
|
||||
blankslate (~> 2.0)
|
||||
blankslate (3.1.3)
|
||||
minitest (5.6.1)
|
||||
parslet (1.7.0)
|
||||
blankslate (>= 2.0, <= 4.0)
|
||||
rake (10.4.2)
|
||||
rubygems-tasks (0.2.4)
|
||||
|
||||
PLATFORMS
|
||||
@ -12,5 +19,6 @@ PLATFORMS
|
||||
|
||||
DEPENDENCIES
|
||||
minitest
|
||||
parslet
|
||||
rake
|
||||
rubygems-tasks
|
||||
salama-reader!
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
Gem::Specification.new do |s|
|
||||
s.name = 'salama-reader'
|
||||
s.version = '0.0.3'
|
||||
s.version = '0.2.0'
|
||||
|
||||
s.authors = ['Torsten Ruger']
|
||||
s.email = 'torsten@villataika.fi'
|
||||
@ -13,4 +13,6 @@ Gem::Specification.new do |s|
|
||||
s.require_paths = ['lib']
|
||||
s.summary = 'Ruby parser for the salama machine'
|
||||
|
||||
s.add_dependency 'parslet', '~> 1.7.0'
|
||||
|
||||
end
|
||||
|
@ -17,7 +17,7 @@ HERE
|
||||
end
|
||||
|
||||
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"}}]}
|
||||
@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
|
||||
|
@ -18,7 +18,7 @@ HERE
|
||||
end
|
||||
|
||||
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"}}
|
||||
@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
|
||||
|
Reference in New Issue
Block a user