mulang-php 0.2.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
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