jaina 0.0.0 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +19 -0
  4. data/README.md +160 -1
  5. data/jaina.gemspec +2 -1
  6. data/lib/jaina/parser/ast/context.rb +98 -0
  7. data/lib/jaina/parser/ast/evaluator.rb +17 -0
  8. data/lib/jaina/parser/ast/tree.rb +35 -0
  9. data/lib/jaina/parser/ast/tree_builder.rb +129 -0
  10. data/lib/jaina/parser/ast.rb +62 -0
  11. data/lib/jaina/parser/code_converter/to_postfix_form.rb +167 -0
  12. data/lib/jaina/parser/code_converter/to_prefix_form.rb +122 -0
  13. data/lib/jaina/parser/code_converter.rb +28 -0
  14. data/lib/jaina/parser/expression/operator/abstract/dsl.rb +256 -0
  15. data/lib/jaina/parser/expression/operator/abstract.rb +67 -0
  16. data/lib/jaina/parser/expression/operator/and.rb +12 -0
  17. data/lib/jaina/parser/expression/operator/grouping/dsl.rb +100 -0
  18. data/lib/jaina/parser/expression/operator/grouping.rb +12 -0
  19. data/lib/jaina/parser/expression/operator/left_corner.rb +10 -0
  20. data/lib/jaina/parser/expression/operator/non_terminal.rb +25 -0
  21. data/lib/jaina/parser/expression/operator/not.rb +12 -0
  22. data/lib/jaina/parser/expression/operator/or.rb +12 -0
  23. data/lib/jaina/parser/expression/operator/right_corner.rb +10 -0
  24. data/lib/jaina/parser/expression/operator/terminal.rb +25 -0
  25. data/lib/jaina/parser/expression/operator.rb +15 -0
  26. data/lib/jaina/parser/expression/registry/access_interface_mixin.rb +49 -0
  27. data/lib/jaina/parser/expression/registry.rb +127 -0
  28. data/lib/jaina/parser/expression.rb +87 -0
  29. data/lib/jaina/parser/tokenizer.rb +37 -0
  30. data/lib/jaina/parser.rb +44 -0
  31. data/lib/jaina/version.rb +5 -1
  32. data/lib/jaina.rb +58 -4
  33. metadata +29 -2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jaina
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Ibragimov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-17 00:00:00.000000000 Z
11
+ date: 2019-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coveralls
@@ -109,6 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: Simple programming language builder inspired by interpreter pattern.
112
+ You can build your own langs for any project purposes.
112
113
  email:
113
114
  - iamdaiver@icloud.com
114
115
  executables: []
@@ -118,6 +119,7 @@ files:
118
119
  - ".gitignore"
119
120
  - ".rspec"
120
121
  - ".rubocop.yml"
122
+ - ".travis.yml"
121
123
  - Gemfile
122
124
  - README.md
123
125
  - Rakefile
@@ -125,6 +127,31 @@ files:
125
127
  - bin/setup
126
128
  - jaina.gemspec
127
129
  - lib/jaina.rb
130
+ - lib/jaina/parser.rb
131
+ - lib/jaina/parser/ast.rb
132
+ - lib/jaina/parser/ast/context.rb
133
+ - lib/jaina/parser/ast/evaluator.rb
134
+ - lib/jaina/parser/ast/tree.rb
135
+ - lib/jaina/parser/ast/tree_builder.rb
136
+ - lib/jaina/parser/code_converter.rb
137
+ - lib/jaina/parser/code_converter/to_postfix_form.rb
138
+ - lib/jaina/parser/code_converter/to_prefix_form.rb
139
+ - lib/jaina/parser/expression.rb
140
+ - lib/jaina/parser/expression/operator.rb
141
+ - lib/jaina/parser/expression/operator/abstract.rb
142
+ - lib/jaina/parser/expression/operator/abstract/dsl.rb
143
+ - lib/jaina/parser/expression/operator/and.rb
144
+ - lib/jaina/parser/expression/operator/grouping.rb
145
+ - lib/jaina/parser/expression/operator/grouping/dsl.rb
146
+ - lib/jaina/parser/expression/operator/left_corner.rb
147
+ - lib/jaina/parser/expression/operator/non_terminal.rb
148
+ - lib/jaina/parser/expression/operator/not.rb
149
+ - lib/jaina/parser/expression/operator/or.rb
150
+ - lib/jaina/parser/expression/operator/right_corner.rb
151
+ - lib/jaina/parser/expression/operator/terminal.rb
152
+ - lib/jaina/parser/expression/registry.rb
153
+ - lib/jaina/parser/expression/registry/access_interface_mixin.rb
154
+ - lib/jaina/parser/tokenizer.rb
128
155
  - lib/jaina/version.rb
129
156
  homepage: https://github.com/0exp/jaina
130
157
  licenses: []