filipinomemes 1.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.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +602 -0
  8. data/Rakefile +6 -0
  9. data/_config.yml +1 -0
  10. data/bin/filipinomemes +21 -0
  11. data/filipinomemes.gemspec +26 -0
  12. data/lib/filipinomemes.rb +3 -0
  13. data/lib/filipinomemes/compiler.rb +21 -0
  14. data/lib/filipinomemes/core_ext.rb +8 -0
  15. data/lib/filipinomemes/core_ext/array.rb +19 -0
  16. data/lib/filipinomemes/core_ext/class.rb +4 -0
  17. data/lib/filipinomemes/core_ext/enumerator.rb +3 -0
  18. data/lib/filipinomemes/core_ext/integer.rb +4 -0
  19. data/lib/filipinomemes/core_ext/kernel.rb +13 -0
  20. data/lib/filipinomemes/core_ext/module.rb +4 -0
  21. data/lib/filipinomemes/core_ext/range.rb +6 -0
  22. data/lib/filipinomemes/core_ext/string.rb +13 -0
  23. data/lib/filipinomemes/ruby_parser_patches.rb +156 -0
  24. data/lib/filipinomemes/version.rb +3 -0
  25. data/sample_programs/agapan.bt +5 -0
  26. data/sample_programs/alyas.bt +9 -0
  27. data/sample_programs/batotris.bt +286 -0
  28. data/sample_programs/bilang.bt +10 -0
  29. data/sample_programs/dapat.bt +9 -0
  30. data/sample_programs/habang.bt +7 -0
  31. data/sample_programs/ihinto.bt +8 -0
  32. data/sample_programs/kontrol-sa-pagiikot.bt +45 -0
  33. data/sample_programs/kumusta_mundo.bt +5 -0
  34. data/sample_programs/magbibigay.bt +27 -0
  35. data/sample_programs/maliban_na.bt +12 -0
  36. data/sample_programs/modyul.bt +20 -0
  37. data/sample_programs/nakatukoy.bt +13 -0
  38. data/sample_programs/ngunit_kapag.bt +8 -0
  39. data/sample_programs/o_ang.bt +3 -0
  40. data/sample_programs/pamamaraan-sa-pagkakamali.bt +11 -0
  41. data/sample_programs/pangalan.bt +10 -0
  42. data/sample_programs/panguri.bt +13 -0
  43. data/sample_programs/panuntunan.bt +23 -0
  44. data/sample_programs/para_sa.bt +4 -0
  45. data/sample_programs/pibonasyi.bt +59 -0
  46. data/sample_programs/siguraduhin.bt +8 -0
  47. data/sample_programs/tanggalin.bt +23 -0
  48. data/sample_programs/timebomb.bt +36 -0
  49. data/spec/filipinomemes/compiler_spec.rb +116 -0
  50. data/spec/spec_helper.rb +61 -0
  51. metadata +152 -0
@@ -0,0 +1,61 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+
8
+ module Matchers
9
+ class BeLike
10
+ def initialize(expected)
11
+ @expected = expected.gsub(/^\s+/, '').strip
12
+ end
13
+
14
+ def matches?(actual)
15
+ @actual = actual.gsub(/^\s+/, '').strip
16
+ @expected == @actual
17
+ end
18
+
19
+ def failure_message
20
+ "expected\n#{@actual}\nto be like\n#{@expected}"
21
+ end
22
+
23
+ def negative_failure_message
24
+ "expected\n#{@actual}\nto be unlike\n#{@expected}"
25
+ end
26
+ end
27
+
28
+ def be_like(expected)
29
+ BeLike.new(expected)
30
+ end
31
+ end
32
+
33
+ RSpec.configure do |config|
34
+ config.treat_symbols_as_metadata_keys_with_true_values = true
35
+ config.run_all_when_everything_filtered = true
36
+ config.filter_run :focus
37
+
38
+ # Run specs in random order to surface order dependencies. If you find an
39
+ # order dependency and want to debug it, you can fix the order by providing
40
+ # the seed, which is printed after each run.
41
+ # --seed 1234
42
+ config.order = 'random'
43
+
44
+ include Matchers
45
+ end
46
+
47
+ class << RSpec::Core::ExampleGroup
48
+ alias isalaysay_ang describe
49
+ RSpec::Core::ExampleGroup.define_example_group_method :isalaysay_ang
50
+ RSpec::Core::ExampleGroup.define_example_method :ito_ang
51
+ end
52
+
53
+ RSpec::Core::MemoizedHelpers::ClassMethods.module_eval do
54
+ alias_method :italaga_ang, :let
55
+ end
56
+
57
+ RSpec::Core::MemoizedHelpers.module_eval do
58
+ alias_method :dapat, :should
59
+ end
60
+
61
+ require 'filipinomemes/compiler'
metadata ADDED
@@ -0,0 +1,152 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: filipinomemes
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Jan Paul Carag
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-12-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ruby2ruby
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Filipinomemes Programming Language
70
+ email:
71
+ - zephyrum14@gmail.com
72
+ executables:
73
+ - filipinomemes
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - ".gitignore"
78
+ - ".rspec"
79
+ - ".travis.yml"
80
+ - Gemfile
81
+ - LICENSE.txt
82
+ - README.md
83
+ - Rakefile
84
+ - _config.yml
85
+ - bin/filipinomemes
86
+ - filipinomemes.gemspec
87
+ - lib/filipinomemes.rb
88
+ - lib/filipinomemes/compiler.rb
89
+ - lib/filipinomemes/core_ext.rb
90
+ - lib/filipinomemes/core_ext/array.rb
91
+ - lib/filipinomemes/core_ext/class.rb
92
+ - lib/filipinomemes/core_ext/enumerator.rb
93
+ - lib/filipinomemes/core_ext/integer.rb
94
+ - lib/filipinomemes/core_ext/kernel.rb
95
+ - lib/filipinomemes/core_ext/module.rb
96
+ - lib/filipinomemes/core_ext/range.rb
97
+ - lib/filipinomemes/core_ext/string.rb
98
+ - lib/filipinomemes/ruby_parser_patches.rb
99
+ - lib/filipinomemes/version.rb
100
+ - sample_programs/agapan.bt
101
+ - sample_programs/alyas.bt
102
+ - sample_programs/batotris.bt
103
+ - sample_programs/bilang.bt
104
+ - sample_programs/dapat.bt
105
+ - sample_programs/habang.bt
106
+ - sample_programs/ihinto.bt
107
+ - sample_programs/kontrol-sa-pagiikot.bt
108
+ - sample_programs/kumusta_mundo.bt
109
+ - sample_programs/magbibigay.bt
110
+ - sample_programs/maliban_na.bt
111
+ - sample_programs/modyul.bt
112
+ - sample_programs/nakatukoy.bt
113
+ - sample_programs/ngunit_kapag.bt
114
+ - sample_programs/o_ang.bt
115
+ - sample_programs/pamamaraan-sa-pagkakamali.bt
116
+ - sample_programs/pangalan.bt
117
+ - sample_programs/panguri.bt
118
+ - sample_programs/panuntunan.bt
119
+ - sample_programs/para_sa.bt
120
+ - sample_programs/pibonasyi.bt
121
+ - sample_programs/siguraduhin.bt
122
+ - sample_programs/tanggalin.bt
123
+ - sample_programs/timebomb.bt
124
+ - spec/filipinomemes/compiler_spec.rb
125
+ - spec/spec_helper.rb
126
+ homepage: https://github.com/zephyrum14/filipinomemes
127
+ licenses:
128
+ - MIT
129
+ metadata: {}
130
+ post_install_message:
131
+ rdoc_options: []
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ required_rubygems_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ requirements: []
145
+ rubyforge_project:
146
+ rubygems_version: 2.6.14.3
147
+ signing_key:
148
+ specification_version: 4
149
+ summary: Filipinomemes is a programming language that uses filipino memes as its syntax
150
+ test_files:
151
+ - spec/filipinomemes/compiler_spec.rb
152
+ - spec/spec_helper.rb