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 +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
|