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 +4 -4
- data/.github/workflows/test_and_deploy.yml +31 -0
- data/lib/mulang/php/ast_processor.rb +6 -6
- data/lib/mulang/php/sexp.rb +3 -51
- data/lib/mulang/php/version.rb +1 -1
- data/mulang-php.gemspec +2 -2
- metadata +10 -17
- data/.travis.yml +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 650ce87754c57063e536acb0fbef9d65c3520b554ab1d95e297409e8b368ed0f
|
4
|
+
data.tar.gz: 23226376e6cf6ff8af53e78bc155fa820c770c2f928c3b6c8d4487f80d95291a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
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, [
|
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, [
|
141
|
+
ms :Application, [primitive(:NotEqual), [process(node[:left]), process(node[:right])]]
|
142
142
|
end
|
143
143
|
|
144
144
|
def on_Expr_PostInc(node)
|
145
|
-
|
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
|
-
|
150
|
+
binary_application '-', process(node[:var]), ms(:MuNumber, 1)
|
151
151
|
end
|
152
152
|
alias on_Expr_PreDec on_Expr_PostDec
|
153
153
|
|
data/lib/mulang/php/sexp.rb
CHANGED
@@ -1,55 +1,7 @@
|
|
1
|
+
require "mulang"
|
2
|
+
|
1
3
|
module Mulang::PHP
|
2
4
|
module Sexp
|
3
|
-
|
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
|
data/lib/mulang/php/version.rb
CHANGED
data/mulang-php.gemspec
CHANGED
@@ -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", "~>
|
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", "
|
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.
|
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:
|
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: '
|
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: '
|
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
|
-
|
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
|
data/.travis.yml
DELETED
@@ -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
|