mulang-php 0.2.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52eef2cf902fa9ef2f4417e2cc170cc6864c928ce34133cf651fef81f8c182e4
4
- data.tar.gz: 6e62a73febe29c716df2cad892e946c79a8af00873e410fd2d7f473d3e250465
3
+ metadata.gz: 650ce87754c57063e536acb0fbef9d65c3520b554ab1d95e297409e8b368ed0f
4
+ data.tar.gz: 23226376e6cf6ff8af53e78bc155fa820c770c2f928c3b6c8d4487f80d95291a
5
5
  SHA512:
6
- metadata.gz: 57819bfc13ece7ddd4aefa16f0b9d4f723222ba2e5eefe80c81c211018726b882ed68e8fede314e3e5a71b40a31fbda150f0b563218328dd07f3b9697dafed8e
7
- data.tar.gz: 6c13826bf069612d54060599b8cffdbd1b810fa6e30a512c946daa4485a734a01d2b412338a02c9da3ae7e7a8e1b4432776f46f1ecbcf615dba380523b3cacf7
6
+ metadata.gz: 3c99558c05d7b95d5553741e95a88af025e554ab77e6f8b74075076fc336e9c5601a67309dd31bc0283e57f21bc6d42c34132a1182408a3b2979fc2e2d877186
7
+ data.tar.gz: 4f49fb815ad20a9c87c50a7a9bbd7d93138cd9e15461fc4a0aacc370fe0499d0bc102f47cc6dfd3c8c74c5f3da9f4ee606e134ec3ed81ff3a4f8e14bbb35be67
@@ -0,0 +1,31 @@
1
+ name: Test and deploy
2
+
3
+ on:
4
+ - push
5
+ - workflow_dispatch
6
+
7
+ jobs:
8
+ test_and_deploy:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v2
12
+ - name: Set up Ruby
13
+ uses: ruby/setup-ruby@21351ecc0a7c196081abca5dc55b08f085efe09a
14
+ with:
15
+ ruby-version: 2.6.3
16
+ - name: Install dependencies
17
+ run: bundle install
18
+ - name: Run tests
19
+ run: bundle exec rake
20
+ - name: Deploy
21
+ if: ${{ startsWith(github.ref, 'refs/tags/v') }}
22
+ run: |
23
+ mkdir -p $HOME/.gem
24
+ touch $HOME/.gem/credentials
25
+ chmod 0600 $HOME/.gem/credentials
26
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
27
+ gem build *.gemspec
28
+ gem push *.gem
29
+ env:
30
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
31
+
@@ -62,14 +62,14 @@ module Mulang::PHP
62
62
 
63
63
  if it[:supports_assign?]
64
64
  self.class.redefine_method(:"on_Expr_AssignOp_#{it[:name]}") { |node|
65
- binary_operator "#{it[:token]}=", process(node[:var]), process(node[:expr])
65
+ binary_application "#{it[:token]}=", process(node[:var]), process(node[:expr])
66
66
  }
67
67
  end
68
68
  }
69
69
  end
70
70
 
71
71
  def process_binary_operator(operator, node)
72
- binary_operator operator, process(node[:left]), process(node[:right])
72
+ binary_application operator, process(node[:left]), process(node[:right])
73
73
  end
74
74
 
75
75
  # ---
@@ -134,20 +134,20 @@ module Mulang::PHP
134
134
  # OPERATORS
135
135
 
136
136
  def on_Expr_BinaryOp_Equal(node)
137
- ms :Application, [ms(:Equal), [process(node[:left]), process(node[:right])]]
137
+ ms :Application, [primitive(:Equal), [process(node[:left]), process(node[:right])]]
138
138
  end
139
139
 
140
140
  def on_Expr_BinaryOp_NotEqual(node)
141
- ms :Application, [ms(:NotEqual), [process(node[:left]), process(node[:right])]]
141
+ ms :Application, [primitive(:NotEqual), [process(node[:left]), process(node[:right])]]
142
142
  end
143
143
 
144
144
  def on_Expr_PostInc(node)
145
- binary_operator '+', process(node[:var]), ms(:MuNumber, 1)
145
+ binary_application '+', process(node[:var]), ms(:MuNumber, 1)
146
146
  end
147
147
  alias on_Expr_PreInc on_Expr_PostInc
148
148
 
149
149
  def on_Expr_PostDec(node)
150
- binary_operator '-', process(node[:var]), ms(:MuNumber, 1)
150
+ binary_application '-', process(node[:var]), ms(:MuNumber, 1)
151
151
  end
152
152
  alias on_Expr_PreDec on_Expr_PostDec
153
153
 
@@ -1,55 +1,7 @@
1
+ require "mulang"
2
+
1
3
  module Mulang::PHP
2
4
  module Sexp
3
- def sequence(*contents)
4
- if contents.empty?
5
- ms(:None)
6
- elsif contents.size == 1
7
- contents[0]
8
- else
9
- ms(:Sequence, *contents)
10
- end
11
- end
12
-
13
- def ms(tag, *contents)
14
- if contents.empty?
15
- {tag: tag}
16
- elsif contents.size == 1
17
- {tag: tag, contents: contents.first}
18
- else
19
- {tag: tag, contents: contents}
20
- end
21
- end
22
-
23
- def simple_function(name, args, body)
24
- callable :Function, name, args, body
25
- end
26
-
27
- def simple_method(name, args, body)
28
- callable :Method, name, args, body
29
- end
30
-
31
- def callable(type, name, args, body)
32
- {
33
- tag: type,
34
- contents: [
35
- name,
36
- [
37
- [ args, {tag: :UnguardedBody, contents: body }]
38
- ]
39
- ]
40
- }
41
- end
42
-
43
- def application(name, args)
44
- ms :Application, [ms(:Reference, name), args]
45
- end
46
-
47
- def binary_operator(operator, left, right)
48
- application operator, [left, right]
49
- end
50
-
51
- def simple_send(sender, message, args)
52
- ms(:Send, sender, ms(:Reference, message), args)
53
- end
5
+ include Mulang::Sexp
54
6
  end
55
7
  end
@@ -1,5 +1,5 @@
1
1
  module Mulang
2
2
  module PHP
3
- VERSION = "0.2.0"
3
+ VERSION = "6.0.0"
4
4
  end
5
5
  end
@@ -21,12 +21,12 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.14"
24
+ spec.add_development_dependency "bundler", "~> 2.0"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "rspec", "~> 3.0"
27
27
  spec.add_development_dependency "pry"
28
28
 
29
29
  spec.add_dependency "ast", "~> 2.4"
30
30
  spec.add_dependency "mumukit-core", "~> 1.0"
31
- spec.add_dependency "mulang", ">= 4.0", "< 6"
31
+ spec.add_dependency "mulang", "~> 6.0"
32
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mulang-php
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Alfonso
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-09-26 00:00:00.000000000 Z
12
+ date: 2021-01-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1.14'
20
+ version: '2.0'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1.14'
27
+ version: '2.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -99,22 +99,16 @@ dependencies:
99
99
  name: mulang
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: '4.0'
105
- - - "<"
102
+ - - "~>"
106
103
  - !ruby/object:Gem::Version
107
- version: '6'
104
+ version: '6.0'
108
105
  type: :runtime
109
106
  prerelease: false
110
107
  version_requirements: !ruby/object:Gem::Requirement
111
108
  requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- version: '4.0'
115
- - - "<"
109
+ - - "~>"
116
110
  - !ruby/object:Gem::Version
117
- version: '6'
111
+ version: '6.0'
118
112
  description: PHP - Mulang Parser
119
113
  email:
120
114
  - rodri042@gmail.com
@@ -123,10 +117,10 @@ executables: []
123
117
  extensions: []
124
118
  extra_rdoc_files: []
125
119
  files:
120
+ - ".github/workflows/test_and_deploy.yml"
126
121
  - ".gitignore"
127
122
  - ".rspec"
128
123
  - ".ruby-version"
129
- - ".travis.yml"
130
124
  - CODE_OF_CONDUCT.md
131
125
  - COPYRIGHT.txt
132
126
  - Gemfile
@@ -160,8 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
154
  - !ruby/object:Gem::Version
161
155
  version: '0'
162
156
  requirements: []
163
- rubyforge_project:
164
- rubygems_version: 2.7.7
157
+ rubygems_version: 3.0.3
165
158
  signing_key:
166
159
  specification_version: 4
167
160
  summary: PHP integration for the Mulang Language Analyzer
@@ -1,16 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.6.3
5
- before_install:
6
- - mkdir -p ~/.local/bin
7
- - export PATH=$HOME/.local/bin:$PATH
8
- - gem install bundler -v 1.14.6
9
- deploy:
10
- provider: rubygems
11
- api_key:
12
- secure: nECNZ8/rjV7TBT4oThpVE+cf0uNAlBQZvElo5OMu7aYqDoHp3DnyriTAPpuuUH1V9+3Cqf8KNze9Enm+xgf6i0JgnlqCUfO6rrpfdW98kybqNteSRYTohHtCJ7DtYOdKWKVDbYTleRiBY9Sva5DOSTDJ5b0Sf9mC7YemQwwRuXYU9Uyv0mLlOE2zxJ87wP7DRvTv8C9FytJmCs9TYDQe05GLP7CIRe3bp7/bWwKhcfdKqOI5F4uh353TOThH++Yvni2JZ2knmBxqQ2cJCVNUb/Y8LJsBW5SHjVwACDuzW2qTpW6AtSfejQKfPCuvmCo0rADIlGdMzdJ01xXNorSPw2oCmW5kpIxXBruMfc0rlcmp6zLkPFL35JOGlcCWDpIofLfLM7O1IHLs5Ou5rzqhHd20IsYrmE276ficNFBHYJV//uTDl8abMQSfErxoKq7Q+0WIIpLH3HiGb3aMLfzQdSxaL6U2lPJMiHzPhBs98OJjfNuZJK3jdgMoTdhXLJdzlOskFU9NrdJXaCOMwTqMbFsg43d+SRdJ0RdEvwGvRMrmCNUPW87h5/GngctU4zYmD3jkQndh0ez3JItims3n/tx8iYTGia4YAzpTDSpBrzoKySyvxuxBs5so5UNtFX49ZVJkKYFORibdSQN7rKSXpqqB34Vgee5gzVYdv4XW+9Y=
13
- gem: mulang-php
14
- on:
15
- tags: true
16
- repo: mumuki/mulang-php