ast 1.0.0 → 1.0.1
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/.yardopts +1 -1
- data/README.YARD.md +12 -0
- data/README.md +22 -0
- data/Rakefile +1 -1
- data/ast.gemspec +1 -1
- data/lib/ast.rb +12 -12
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9b626d3142fac2406e66bee130edf576bf3cdac
|
4
|
+
data.tar.gz: abd5643281c42dbcab8b126fd35ed0713258f790
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 508ff146c2009a9c972ff4179d87facfbee08dc0b49e9a2d4caa1b595d42dab95844afa5d1efbaf7b71d487ed447a390528b1f63e05baadd89d3f341cec4c7c2
|
7
|
+
data.tar.gz: e60093401376180a850d61861b836881acc404156d1e3830e59e6d76e987fd3fa04836e1db589fd41f62a9dbbcfe1a76574bff04edc58cfeca028d71fa4d1b37
|
data/.yardopts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
-r
|
1
|
+
-r README.YARD.md -m markdown --protected
|
data/README.YARD.md
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
{AST} is a library for manipulating abstract syntax trees.
|
2
|
+
|
3
|
+
It embraces immutability; each AST node is inherently frozen at
|
4
|
+
creation, and updating a child node requires recreating that node
|
5
|
+
and its every parent, recursively.
|
6
|
+
|
7
|
+
This is a design choice. It does create some pressure on
|
8
|
+
garbage collector, but completely eliminates all concurrency
|
9
|
+
and aliasing problems.
|
10
|
+
|
11
|
+
See also {AST::Node}, {AST::Processor} and {AST::Sexp} for additional
|
12
|
+
recommendations and design patterns.
|
data/README.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# Parser
|
2
|
+
|
3
|
+
[](https://travis-ci.org/whitequark/ast)
|
4
|
+
[](https://codeclimate.com/github/whitequark/ast)
|
5
|
+
|
6
|
+
AST is a small library for working with immutable abstract syntax trees.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
$ gem install ast
|
11
|
+
|
12
|
+
## Usage
|
13
|
+
|
14
|
+
See the documentation at [GitHub](http://whitequark.github.com/ast/frames.html) or [rdoc.info](http://rdoc.info/gems/ast).
|
15
|
+
|
16
|
+
## Contributing
|
17
|
+
|
18
|
+
1. Fork it
|
19
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
20
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
21
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
22
|
+
5. Create new Pull Request
|
data/Rakefile
CHANGED
@@ -13,7 +13,7 @@ PAGES_REPO = 'git@github.com:whitequark/ast'
|
|
13
13
|
desc "Build and deploy documentation to GitHub pages"
|
14
14
|
task :pages do
|
15
15
|
system "git clone #{PAGES_REPO} gh-temp/ -b gh-pages; rm gh-temp/* -rf; touch gh-temp/.nojekyll" or abort
|
16
|
-
system "yardoc -o gh-temp/;
|
16
|
+
system "yardoc -o gh-temp/;" or abort
|
17
17
|
system "cd gh-temp/; git add -A; git commit -m 'Updated pages.'; git push -f origin gh-pages" or abort
|
18
18
|
FileUtils.rm_rf 'gh-temp'
|
19
19
|
end
|
data/ast.gemspec
CHANGED
data/lib/ast.rb
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
+
# {AST} is a library for manipulating abstract syntax trees.
|
2
|
+
#
|
3
|
+
# It embraces immutability; each AST node is inherently frozen at
|
4
|
+
# creation, and updating a child node requires recreating that node
|
5
|
+
# and its every parent, recursively.
|
6
|
+
# This is a design choice. It does create some pressure on
|
7
|
+
# garbage collector, but completely eliminates all concurrency
|
8
|
+
# and aliasing problems.
|
9
|
+
#
|
10
|
+
# See also {AST::Node}, {AST::Processor} and {AST::Sexp} for additional
|
11
|
+
# recommendations and design patterns.
|
12
|
+
#
|
1
13
|
module AST
|
2
|
-
# AST is a library for manipulating abstract syntax trees.
|
3
|
-
#
|
4
|
-
# It embraces immutability; each AST node is inherently frozen at
|
5
|
-
# creation, and updating a child node requires recreating that node
|
6
|
-
# and its every parent, recursively.
|
7
|
-
# This is a design choice. It does create some pressure on
|
8
|
-
# garbage collector, but completely eliminates all concurrency
|
9
|
-
# and aliasing problems.
|
10
|
-
#
|
11
|
-
# See also {Node}, {Processor} and {Sexp} for additional
|
12
|
-
# recommendations and design patterns.
|
13
|
-
|
14
14
|
require_relative "ast/node"
|
15
15
|
require_relative "ast/processor"
|
16
16
|
require_relative "ast/sexp"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Zotov
|
@@ -106,6 +106,8 @@ files:
|
|
106
106
|
- .yardopts
|
107
107
|
- Gemfile
|
108
108
|
- LICENSE.MIT
|
109
|
+
- README.YARD.md
|
110
|
+
- README.md
|
109
111
|
- Rakefile
|
110
112
|
- ast.gemspec
|
111
113
|
- lib/ast.rb
|