tripper 0.0.3d

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +1 -0
  7. data/TODO +26 -0
  8. data/lib/generators/USAGE +8 -0
  9. data/lib/generators/tripper.rb +51 -0
  10. data/lib/generators/tripper/commonalities/commonalities.rb +226 -0
  11. data/lib/generators/tripper/detect_changes/detect_changes_generator.rb +173 -0
  12. data/lib/generators/tripper/detect_changes/model.rb +226 -0
  13. data/lib/generators/tripper/detect_changes/templates/migration.rb +7 -0
  14. data/lib/generators/tripper/detect_changes/templates/model/belongs_to.rb +1 -0
  15. data/lib/generators/tripper/detect_changes/templates/model/has_one.rb +1 -0
  16. data/lib/generators/tripper/detect_changes/templates/model/validates.rb +2 -0
  17. data/lib/generators/tripper/from_community/from_community_generator.rb +95 -0
  18. data/lib/generators/tripper/from_community/templates/actions/create.rb +8 -0
  19. data/lib/generators/tripper/from_community/templates/actions/destroy.rb +5 -0
  20. data/lib/generators/tripper/from_community/templates/actions/edit.rb +3 -0
  21. data/lib/generators/tripper/from_community/templates/actions/index.rb +3 -0
  22. data/lib/generators/tripper/from_community/templates/actions/new.rb +3 -0
  23. data/lib/generators/tripper/from_community/templates/actions/show.rb +3 -0
  24. data/lib/generators/tripper/from_community/templates/actions/update.rb +8 -0
  25. data/lib/generators/tripper/from_community/templates/controller.rb +3 -0
  26. data/lib/generators/tripper/from_community/templates/fixtures.yml +9 -0
  27. data/lib/generators/tripper/from_community/templates/helper.rb +2 -0
  28. data/lib/generators/tripper/from_community/templates/migration.rb +30 -0
  29. data/lib/generators/tripper/from_community/templates/model.rb +54 -0
  30. data/lib/generators/tripper/from_community/templates/tests/rspec/actions/create.rb +11 -0
  31. data/lib/generators/tripper/from_community/templates/tests/rspec/actions/destroy.rb +6 -0
  32. data/lib/generators/tripper/from_community/templates/tests/rspec/actions/edit.rb +4 -0
  33. data/lib/generators/tripper/from_community/templates/tests/rspec/actions/index.rb +4 -0
  34. data/lib/generators/tripper/from_community/templates/tests/rspec/actions/new.rb +4 -0
  35. data/lib/generators/tripper/from_community/templates/tests/rspec/actions/show.rb +4 -0
  36. data/lib/generators/tripper/from_community/templates/tests/rspec/actions/update.rb +11 -0
  37. data/lib/generators/tripper/from_community/templates/tests/rspec/controller.rb +8 -0
  38. data/lib/generators/tripper/from_community/templates/tests/rspec/model.rb +7 -0
  39. data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/create.rb +13 -0
  40. data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/destroy.rb +8 -0
  41. data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/edit.rb +6 -0
  42. data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/index.rb +6 -0
  43. data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/new.rb +6 -0
  44. data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/show.rb +6 -0
  45. data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/update.rb +13 -0
  46. data/lib/generators/tripper/from_community/templates/tests/shoulda/controller.rb +5 -0
  47. data/lib/generators/tripper/from_community/templates/tests/shoulda/model.rb +7 -0
  48. data/lib/generators/tripper/from_community/templates/tests/testunit/actions/create.rb +11 -0
  49. data/lib/generators/tripper/from_community/templates/tests/testunit/actions/destroy.rb +6 -0
  50. data/lib/generators/tripper/from_community/templates/tests/testunit/actions/edit.rb +4 -0
  51. data/lib/generators/tripper/from_community/templates/tests/testunit/actions/index.rb +4 -0
  52. data/lib/generators/tripper/from_community/templates/tests/testunit/actions/new.rb +4 -0
  53. data/lib/generators/tripper/from_community/templates/tests/testunit/actions/show.rb +4 -0
  54. data/lib/generators/tripper/from_community/templates/tests/testunit/actions/update.rb +11 -0
  55. data/lib/generators/tripper/from_community/templates/tests/testunit/controller.rb +5 -0
  56. data/lib/generators/tripper/from_community/templates/tests/testunit/model.rb +7 -0
  57. data/lib/generators/tripper/from_community/templates/views/erb/_form.html.erb +16 -0
  58. data/lib/generators/tripper/from_community/templates/views/erb/edit.html.erb +14 -0
  59. data/lib/generators/tripper/from_community/templates/views/erb/index.html.erb +29 -0
  60. data/lib/generators/tripper/from_community/templates/views/erb/new.html.erb +7 -0
  61. data/lib/generators/tripper/from_community/templates/views/erb/show.html.erb +25 -0
  62. data/lib/generators/tripper/from_community/templates/views/haml/_form.html.haml +9 -0
  63. data/lib/generators/tripper/from_community/templates/views/haml/edit.html.haml +14 -0
  64. data/lib/generators/tripper/from_community/templates/views/haml/index.html.haml +25 -0
  65. data/lib/generators/tripper/from_community/templates/views/haml/new.html.haml +7 -0
  66. data/lib/generators/tripper/from_community/templates/views/haml/show.html.haml +20 -0
  67. data/lib/generators/tripper/layout/USAGE +18 -0
  68. data/lib/generators/tripper/layout/layout_generator.rb +29 -0
  69. data/lib/generators/tripper/layout/templates/error_messages_helper.rb +23 -0
  70. data/lib/generators/tripper/layout/templates/layout.html.erb +19 -0
  71. data/lib/generators/tripper/layout/templates/layout.html.haml +21 -0
  72. data/lib/generators/tripper/layout/templates/layout_helper.rb +22 -0
  73. data/lib/generators/tripper/layout/templates/stylesheet.css +83 -0
  74. data/lib/generators/tripper/layout/templates/stylesheet.sass +73 -0
  75. data/lib/generators/tripper/obj_constraint.rb +23 -0
  76. data/lib/generators/tripper/predicate.rb +12 -0
  77. data/lib/generators/tripper/sync_with_community/model.rb +260 -0
  78. data/lib/generators/tripper/sync_with_community/sync_with_community_generator.rb +310 -0
  79. data/lib/generators/tripper/sync_with_community/templates/migration.rb +7 -0
  80. data/lib/generators/tripper/sync_with_community/templates/model/belongs_to.rb +1 -0
  81. data/lib/generators/tripper/sync_with_community/templates/model/has_one.rb +1 -0
  82. data/lib/generators/tripper/sync_with_community/templates/model/validates.rb +2 -0
  83. data/lib/generators/tripper/templates/actions/create.rb +8 -0
  84. data/lib/generators/tripper/templates/actions/destroy.rb +5 -0
  85. data/lib/generators/tripper/templates/actions/edit.rb +3 -0
  86. data/lib/generators/tripper/templates/actions/index.rb +3 -0
  87. data/lib/generators/tripper/templates/actions/new.rb +3 -0
  88. data/lib/generators/tripper/templates/actions/show.rb +3 -0
  89. data/lib/generators/tripper/templates/actions/update.rb +8 -0
  90. data/lib/generators/tripper/templates/controller.rb +3 -0
  91. data/lib/generators/tripper/templates/fixtures.yml +9 -0
  92. data/lib/generators/tripper/templates/helper.rb +2 -0
  93. data/lib/generators/tripper/templates/migration.rb +30 -0
  94. data/lib/generators/tripper/templates/model.rb +54 -0
  95. data/lib/generators/tripper/templates/tests/rspec/actions/create.rb +11 -0
  96. data/lib/generators/tripper/templates/tests/rspec/actions/destroy.rb +6 -0
  97. data/lib/generators/tripper/templates/tests/rspec/actions/edit.rb +4 -0
  98. data/lib/generators/tripper/templates/tests/rspec/actions/index.rb +4 -0
  99. data/lib/generators/tripper/templates/tests/rspec/actions/new.rb +4 -0
  100. data/lib/generators/tripper/templates/tests/rspec/actions/show.rb +4 -0
  101. data/lib/generators/tripper/templates/tests/rspec/actions/update.rb +11 -0
  102. data/lib/generators/tripper/templates/tests/rspec/controller.rb +8 -0
  103. data/lib/generators/tripper/templates/tests/rspec/model.rb +7 -0
  104. data/lib/generators/tripper/templates/tests/shoulda/actions/create.rb +13 -0
  105. data/lib/generators/tripper/templates/tests/shoulda/actions/destroy.rb +8 -0
  106. data/lib/generators/tripper/templates/tests/shoulda/actions/edit.rb +6 -0
  107. data/lib/generators/tripper/templates/tests/shoulda/actions/index.rb +6 -0
  108. data/lib/generators/tripper/templates/tests/shoulda/actions/new.rb +6 -0
  109. data/lib/generators/tripper/templates/tests/shoulda/actions/show.rb +6 -0
  110. data/lib/generators/tripper/templates/tests/shoulda/actions/update.rb +13 -0
  111. data/lib/generators/tripper/templates/tests/shoulda/controller.rb +5 -0
  112. data/lib/generators/tripper/templates/tests/shoulda/model.rb +7 -0
  113. data/lib/generators/tripper/templates/tests/testunit/actions/create.rb +11 -0
  114. data/lib/generators/tripper/templates/tests/testunit/actions/destroy.rb +6 -0
  115. data/lib/generators/tripper/templates/tests/testunit/actions/edit.rb +4 -0
  116. data/lib/generators/tripper/templates/tests/testunit/actions/index.rb +4 -0
  117. data/lib/generators/tripper/templates/tests/testunit/actions/new.rb +4 -0
  118. data/lib/generators/tripper/templates/tests/testunit/actions/show.rb +4 -0
  119. data/lib/generators/tripper/templates/tests/testunit/actions/update.rb +11 -0
  120. data/lib/generators/tripper/templates/tests/testunit/controller.rb +5 -0
  121. data/lib/generators/tripper/templates/tests/testunit/model.rb +7 -0
  122. data/lib/generators/tripper/templates/views/erb/_form.html.erb +16 -0
  123. data/lib/generators/tripper/templates/views/erb/edit.html.erb +14 -0
  124. data/lib/generators/tripper/templates/views/erb/index.html.erb +29 -0
  125. data/lib/generators/tripper/templates/views/erb/new.html.erb +7 -0
  126. data/lib/generators/tripper/templates/views/erb/show.html.erb +25 -0
  127. data/lib/generators/tripper/templates/views/haml/_form.html.haml +9 -0
  128. data/lib/generators/tripper/templates/views/haml/edit.html.haml +14 -0
  129. data/lib/generators/tripper/templates/views/haml/index.html.haml +25 -0
  130. data/lib/generators/tripper/templates/views/haml/new.html.haml +7 -0
  131. data/lib/generators/tripper/templates/views/haml/show.html.haml +20 -0
  132. data/lib/tripper.rb +1 -0
  133. data/lib/tripper/GOSPLDB/config/database.yml +6 -0
  134. data/lib/tripper/GOSPLDB/config_db.rb +9 -0
  135. data/lib/tripper/GOSPLDB/console +2 -0
  136. data/lib/tripper/GOSPLDB/gospl_db_classes.rb +343 -0
  137. data/lib/tripper/GOSPLDB/play_around.rb +4 -0
  138. data/lib/tripper/GOSPLDB/rakefile.rb +88 -0
  139. data/lib/tripper/GOSPLDBToORMDB/gospl_db_to_orm_db.rb +88 -0
  140. data/lib/tripper/ORMDB/config/database.yml +6 -0
  141. data/lib/tripper/ORMDB/config_db.rb +9 -0
  142. data/lib/tripper/ORMDB/console +2 -0
  143. data/lib/tripper/ORMDB/db/migrations/0_create_orm_object_table.rb +17 -0
  144. data/lib/tripper/ORMDB/db/migrations/10_create_no_lot_constraint_table.rb +17 -0
  145. data/lib/tripper/ORMDB/db/migrations/11_create_value_constraint_table.rb +14 -0
  146. data/lib/tripper/ORMDB/db/migrations/12_create_value_constraint_value_table.rb +16 -0
  147. data/lib/tripper/ORMDB/db/migrations/13_create_value_range_table.rb +15 -0
  148. data/lib/tripper/ORMDB/db/migrations/14_create_frequency_constraint_table.rb +16 -0
  149. data/lib/tripper/ORMDB/db/migrations/15_create_value_table.rb +15 -0
  150. data/lib/tripper/ORMDB/db/migrations/16_create_ring_constraint_table.rb +14 -0
  151. data/lib/tripper/ORMDB/db/migrations/17_create_orm_schema_table.rb +21 -0
  152. data/lib/tripper/ORMDB/db/migrations/18_create_uniqueness_constraint_table.rb +15 -0
  153. data/lib/tripper/ORMDB/db/migrations/1_create_no_lot_table.rb +18 -0
  154. data/lib/tripper/ORMDB/db/migrations/2_create_lot_table.rb +18 -0
  155. data/lib/tripper/ORMDB/db/migrations/3_create_object_role_table.rb +18 -0
  156. data/lib/tripper/ORMDB/db/migrations/4_create_reference_table.rb +17 -0
  157. data/lib/tripper/ORMDB/db/migrations/5_create_predicate_table.rb +18 -0
  158. data/lib/tripper/ORMDB/db/migrations/6_create_object_role_constraint_table.rb +18 -0
  159. data/lib/tripper/ORMDB/db/migrations/7_create_subtype_table.rb +17 -0
  160. data/lib/tripper/ORMDB/db/migrations/8_create_mandatory_constraint_table.rb +15 -0
  161. data/lib/tripper/ORMDB/db/migrations/9_create_constraint_table.rb +15 -0
  162. data/lib/tripper/ORMDB/db/orm_ml.sqlite3 +0 -0
  163. data/lib/tripper/ORMDB/db/orm_ml.sqlite3.backup +0 -0
  164. data/lib/tripper/ORMDB/db/orm_ml.sqlite3.juli28-2013 +0 -0
  165. data/lib/tripper/ORMDB/db/orm_ml.sqlite3.old +0 -0
  166. data/lib/tripper/ORMDB/db/schema.rb +58 -0
  167. data/lib/tripper/ORMDB/erd.pdf +0 -0
  168. data/lib/tripper/ORMDB/migrate_db.rb +21 -0
  169. data/lib/tripper/ORMDB/orm_db_classes.rb +423 -0
  170. data/lib/tripper/ORMDB/populate.rb +4 -0
  171. data/lib/tripper/ORMDB/rakefile.rb +88 -0
  172. data/lib/tripper/model_parsers/attribute_parser/AttributeParser.g +50 -0
  173. data/lib/tripper/model_parsers/attribute_parser/AttributeParser.tokens +13 -0
  174. data/lib/tripper/model_parsers/attribute_parser/AttributeParserLexer.rb +538 -0
  175. data/lib/tripper/model_parsers/attribute_parser/AttributeParserParser.rb +412 -0
  176. data/lib/tripper/model_parsers/attribute_parser/playing_around.rb +14 -0
  177. data/lib/tripper/model_parsers/belongs_to/BelongsToParser.g +63 -0
  178. data/lib/tripper/model_parsers/belongs_to/BelongsToParser.tokens +21 -0
  179. data/lib/tripper/model_parsers/belongs_to/BelongsToParserLexer.rb +667 -0
  180. data/lib/tripper/model_parsers/belongs_to/BelongsToParserParser.rb +552 -0
  181. data/lib/tripper/model_parsers/belongs_to/playing_around.rb +9 -0
  182. data/lib/tripper/model_parsers/database_fields_parser/DatabaseFieldsParser.g +47 -0
  183. data/lib/tripper/model_parsers/database_fields_parser/DatabaseFieldsParser.tokens +14 -0
  184. data/lib/tripper/model_parsers/database_fields_parser/DatabaseFieldsParserLexer.rb +513 -0
  185. data/lib/tripper/model_parsers/database_fields_parser/DatabaseFieldsParserParser.rb +279 -0
  186. data/lib/tripper/model_parsers/database_fields_parser/playing_around.rb +14 -0
  187. data/lib/tripper/model_parsers/has_and_belongs_to_many/HasAndBelongsToManyParser.g +92 -0
  188. data/lib/tripper/model_parsers/has_and_belongs_to_many/HasAndBelongsToManyParser.tokens +25 -0
  189. data/lib/tripper/model_parsers/has_and_belongs_to_many/HasAndBelongsToManyParserLexer.rb +787 -0
  190. data/lib/tripper/model_parsers/has_and_belongs_to_many/HasAndBelongsToManyParserParser.rb +1024 -0
  191. data/lib/tripper/model_parsers/has_and_belongs_to_many/playing_around.rb +9 -0
  192. data/lib/tripper/model_parsers/has_many/HasManyParser.g +77 -0
  193. data/lib/tripper/model_parsers/has_many/HasManyParser.tokens +23 -0
  194. data/lib/tripper/model_parsers/has_many/HasManyParserLexer.rb +710 -0
  195. data/lib/tripper/model_parsers/has_many/HasManyParserParser.rb +788 -0
  196. data/lib/tripper/model_parsers/has_many/playing_around.rb +9 -0
  197. data/lib/tripper/model_parsers/has_one/HasOneParser.g +63 -0
  198. data/lib/tripper/model_parsers/has_one/HasOneParser.tokens +21 -0
  199. data/lib/tripper/model_parsers/has_one/HasOneParserLexer.rb +664 -0
  200. data/lib/tripper/model_parsers/has_one/HasOneParserParser.rb +552 -0
  201. data/lib/tripper/model_parsers/has_one/playing_around.rb +9 -0
  202. data/lib/tripper/model_parsers/validates/ValidatesParser.g +68 -0
  203. data/lib/tripper/model_parsers/validates/ValidatesParser.tokens +35 -0
  204. data/lib/tripper/model_parsers/validates/ValidatesParserLexer.rb +899 -0
  205. data/lib/tripper/model_parsers/validates/ValidatesParserParser.rb +869 -0
  206. data/lib/tripper/model_parsers/validates/playing_around.rb +9 -0
  207. data/lib/tripper/rails.rb +8 -0
  208. data/lib/tripper/version.rb +3 -0
  209. data/tripper.gemspec +33 -0
  210. metadata +408 -0
@@ -0,0 +1,552 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g
4
+ # --
5
+ # Generated using ANTLR version: 3.2.1-SNAPSHOT Jul 31, 2010 19:34:52
6
+ # Ruby runtime library version: 1.8.11
7
+ # Input grammar file: /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g
8
+ # Generated at: 2013-05-05 11:31:51
9
+ #
10
+
11
+ # ~~~> start load path setup
12
+ this_directory = File.expand_path( File.dirname( __FILE__ ) )
13
+ $LOAD_PATH.unshift( this_directory ) unless $LOAD_PATH.include?( this_directory )
14
+
15
+ antlr_load_failed = proc do
16
+ load_path = $LOAD_PATH.map { |dir| ' - ' << dir }.join( $/ )
17
+ raise LoadError, <<-END.strip!
18
+
19
+ Failed to load the ANTLR3 runtime library (version 1.8.11):
20
+
21
+ Ensure the library has been installed on your system and is available
22
+ on the load path. If rubygems is available on your system, this can
23
+ be done with the command:
24
+
25
+ gem install antlr3
26
+
27
+ Current load path:
28
+ #{ load_path }
29
+
30
+ END
31
+ end
32
+
33
+ defined?( ANTLR3 ) or begin
34
+
35
+ # 1: try to load the ruby antlr3 runtime library from the system path
36
+ require 'antlr3'
37
+
38
+ rescue LoadError
39
+
40
+ # 2: try to load rubygems if it isn't already loaded
41
+ defined?( Gem ) or begin
42
+ require 'rubygems'
43
+ rescue LoadError
44
+ antlr_load_failed.call
45
+ end
46
+
47
+ # 3: try to activate the antlr3 gem
48
+ begin
49
+ Gem.activate( 'antlr3', '~> 1.8.11' )
50
+ rescue Gem::LoadError
51
+ antlr_load_failed.call
52
+ end
53
+
54
+ require 'antlr3'
55
+
56
+ end
57
+ # <~~~ end load path setup
58
+
59
+ # - - - - - - begin action @parser::header - - - - - -
60
+ # /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g
61
+
62
+
63
+ def strip_quotes str
64
+ return str[1,(str.length)-2]
65
+ end
66
+
67
+ @@attribute = nil
68
+ @@class_name = nil
69
+
70
+ # - - - - - - end action @parser::header - - - - - - -
71
+
72
+
73
+ module HasOneParser
74
+ # TokenData defines all of the token type integer values
75
+ # as constants, which will be included in all
76
+ # ANTLR-generated recognizers.
77
+ const_defined?( :TokenData ) or TokenData = ANTLR3::TokenScheme.new
78
+
79
+ module TokenData
80
+
81
+ # define the token constants
82
+ define_tokens( :ACTUALSTRING => 10, :T__16 => 16, :HC => 6, :T__15 => 15,
83
+ :T__17 => 17, :T__12 => 12, :T__11 => 11, :T__14 => 14,
84
+ :T__13 => 13, :ATTRIBUTE => 5, :WHITESPACE => 9, :LC => 7,
85
+ :DIGIT => 8, :COMMENT => 4, :EOF => -1 )
86
+
87
+ # register the proper human-readable name or literal value
88
+ # for each token type
89
+ #
90
+ # this is necessary because anonymous tokens, which are
91
+ # created from literal values in the grammar, do not
92
+ # have descriptive names
93
+ register_names( "COMMENT", "ATTRIBUTE", "HC", "LC", "DIGIT", "WHITESPACE",
94
+ "ACTUALSTRING", "'has_one'", "','", "':'", "'class_name'",
95
+ "'=>'", "'\\''", "'\"'" )
96
+
97
+ end
98
+
99
+
100
+ class Parser < ANTLR3::Parser
101
+ @grammar_home = HasOneParser
102
+
103
+ RULE_METHODS = [ :comment, :has_one, :class_name, :class_name_old_syntax,
104
+ :class_name_word, :class_name_new_syntax, :attribute ].freeze
105
+
106
+
107
+ include TokenData
108
+
109
+ begin
110
+ generated_using( "/Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g", "3.2.1-SNAPSHOT Jul 31, 2010 19:34:52", "1.8.11" )
111
+ rescue NoMethodError => error
112
+ # ignore
113
+ end
114
+
115
+ def initialize( input, options = {} )
116
+ super( input, options )
117
+
118
+
119
+ end
120
+
121
+ attr_accessor :attribute, :class_name
122
+
123
+ # - - - - - - - - - - - - Rules - - - - - - - - - - - - -
124
+
125
+ #
126
+ # parser rule comment
127
+ #
128
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g)
129
+ # 20:1: comment : COMMENT ;
130
+ #
131
+ def comment
132
+ # -> uncomment the next line to manually enable rule tracing
133
+ # trace_in( __method__, 1 )
134
+
135
+ begin
136
+ # at line 20:10: COMMENT
137
+ match( COMMENT, TOKENS_FOLLOWING_COMMENT_IN_comment_35 )
138
+
139
+ rescue ANTLR3::Error::RecognitionError => re
140
+ report_error(re)
141
+ recover(re)
142
+
143
+ ensure
144
+ # -> uncomment the next line to manually enable rule tracing
145
+ # trace_out( __method__, 1 )
146
+
147
+ end
148
+
149
+ return
150
+ end
151
+
152
+
153
+ #
154
+ # parser rule has_one
155
+ #
156
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g)
157
+ # 22:1: has_one returns [expr] : ( (c= COMMENT )* | 'has_one' attribute ( class_name )? ( comment )? ) ;
158
+ #
159
+ def has_one
160
+ # -> uncomment the next line to manually enable rule tracing
161
+ # trace_in( __method__, 2 )
162
+ expr = nil
163
+ c = nil
164
+
165
+ begin
166
+ # at line 22:25: ( (c= COMMENT )* | 'has_one' attribute ( class_name )? ( comment )? )
167
+ # at line 22:25: ( (c= COMMENT )* | 'has_one' attribute ( class_name )? ( comment )? )
168
+ alt_4 = 2
169
+ look_4_0 = @input.peek( 1 )
170
+
171
+ if ( look_4_0 == EOF || look_4_0 == COMMENT )
172
+ alt_4 = 1
173
+ elsif ( look_4_0 == T__11 )
174
+ alt_4 = 2
175
+ else
176
+ raise NoViableAlternative( "", 4, 0 )
177
+ end
178
+ case alt_4
179
+ when 1
180
+ # at line 22:26: (c= COMMENT )*
181
+ # at line 22:26: (c= COMMENT )*
182
+ while true # decision 1
183
+ alt_1 = 2
184
+ look_1_0 = @input.peek( 1 )
185
+
186
+ if ( look_1_0 == COMMENT )
187
+ alt_1 = 1
188
+
189
+ end
190
+ case alt_1
191
+ when 1
192
+ # at line 22:27: c= COMMENT
193
+ c = match( COMMENT, TOKENS_FOLLOWING_COMMENT_IN_has_one_50 )
194
+
195
+ else
196
+ break # out of loop for decision 1
197
+ end
198
+ end # loop for decision 1
199
+
200
+ when 2
201
+ # at line 22:41: 'has_one' attribute ( class_name )? ( comment )?
202
+ match( T__11, TOKENS_FOLLOWING_T__11_IN_has_one_56 )
203
+ @state.following.push( TOKENS_FOLLOWING_attribute_IN_has_one_58 )
204
+ attribute
205
+ @state.following.pop
206
+ # at line 22:61: ( class_name )?
207
+ alt_2 = 2
208
+ look_2_0 = @input.peek( 1 )
209
+
210
+ if ( look_2_0 == T__12 )
211
+ alt_2 = 1
212
+ end
213
+ case alt_2
214
+ when 1
215
+ # at line 22:61: class_name
216
+ @state.following.push( TOKENS_FOLLOWING_class_name_IN_has_one_60 )
217
+ class_name
218
+ @state.following.pop
219
+
220
+ end
221
+ # at line 22:73: ( comment )?
222
+ alt_3 = 2
223
+ look_3_0 = @input.peek( 1 )
224
+
225
+ if ( look_3_0 == COMMENT )
226
+ alt_3 = 1
227
+ end
228
+ case alt_3
229
+ when 1
230
+ # at line 22:73: comment
231
+ @state.following.push( TOKENS_FOLLOWING_comment_IN_has_one_63 )
232
+ comment
233
+ @state.following.pop
234
+
235
+ end
236
+
237
+ end
238
+ # --> action
239
+
240
+ expr = {attribute: @attribute, class_name: @class_name} unless c
241
+
242
+ # <-- action
243
+
244
+ rescue ANTLR3::Error::RecognitionError => re
245
+ report_error(re)
246
+ recover(re)
247
+
248
+ ensure
249
+ # -> uncomment the next line to manually enable rule tracing
250
+ # trace_out( __method__, 2 )
251
+
252
+ end
253
+
254
+ return expr
255
+ end
256
+
257
+
258
+ #
259
+ # parser rule class_name
260
+ #
261
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g)
262
+ # 28:1: class_name : ',' ( class_name_old_syntax | class_name_new_syntax ) ;
263
+ #
264
+ def class_name
265
+ # -> uncomment the next line to manually enable rule tracing
266
+ # trace_in( __method__, 3 )
267
+
268
+ begin
269
+ # at line 28:13: ',' ( class_name_old_syntax | class_name_new_syntax )
270
+ match( T__12, TOKENS_FOLLOWING_T__12_IN_class_name_76 )
271
+ # at line 28:17: ( class_name_old_syntax | class_name_new_syntax )
272
+ alt_5 = 2
273
+ look_5_0 = @input.peek( 1 )
274
+
275
+ if ( look_5_0 == T__13 )
276
+ alt_5 = 1
277
+ elsif ( look_5_0 == T__14 )
278
+ alt_5 = 2
279
+ else
280
+ raise NoViableAlternative( "", 5, 0 )
281
+ end
282
+ case alt_5
283
+ when 1
284
+ # at line 28:18: class_name_old_syntax
285
+ @state.following.push( TOKENS_FOLLOWING_class_name_old_syntax_IN_class_name_79 )
286
+ class_name_old_syntax
287
+ @state.following.pop
288
+
289
+ when 2
290
+ # at line 28:42: class_name_new_syntax
291
+ @state.following.push( TOKENS_FOLLOWING_class_name_new_syntax_IN_class_name_83 )
292
+ class_name_new_syntax
293
+ @state.following.pop
294
+
295
+ end
296
+
297
+ rescue ANTLR3::Error::RecognitionError => re
298
+ report_error(re)
299
+ recover(re)
300
+
301
+ ensure
302
+ # -> uncomment the next line to manually enable rule tracing
303
+ # trace_out( __method__, 3 )
304
+
305
+ end
306
+
307
+ return
308
+ end
309
+
310
+
311
+ #
312
+ # parser rule class_name_old_syntax
313
+ #
314
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g)
315
+ # 30:1: class_name_old_syntax : ':' 'class_name' '=>' class_name_word ;
316
+ #
317
+ def class_name_old_syntax
318
+ # -> uncomment the next line to manually enable rule tracing
319
+ # trace_in( __method__, 4 )
320
+
321
+ begin
322
+ # at line 30:24: ':' 'class_name' '=>' class_name_word
323
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_class_name_old_syntax_91 )
324
+ match( T__14, TOKENS_FOLLOWING_T__14_IN_class_name_old_syntax_93 )
325
+ match( T__15, TOKENS_FOLLOWING_T__15_IN_class_name_old_syntax_95 )
326
+ @state.following.push( TOKENS_FOLLOWING_class_name_word_IN_class_name_old_syntax_97 )
327
+ class_name_word
328
+ @state.following.pop
329
+
330
+ rescue ANTLR3::Error::RecognitionError => re
331
+ report_error(re)
332
+ recover(re)
333
+
334
+ ensure
335
+ # -> uncomment the next line to manually enable rule tracing
336
+ # trace_out( __method__, 4 )
337
+
338
+ end
339
+
340
+ return
341
+ end
342
+
343
+
344
+ #
345
+ # parser rule class_name_word
346
+ #
347
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g)
348
+ # 33:1: class_name_word : ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) ) ;
349
+ #
350
+ def class_name_word
351
+ # -> uncomment the next line to manually enable rule tracing
352
+ # trace_in( __method__, 5 )
353
+ a = nil
354
+
355
+ begin
356
+ # at line 33:18: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
357
+ # at line 33:18: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
358
+ alt_6 = 3
359
+ case look_6 = @input.peek( 1 )
360
+ when T__16 then alt_6 = 1
361
+ when T__17 then alt_6 = 2
362
+ when T__13 then alt_6 = 3
363
+ else
364
+ raise NoViableAlternative( "", 6, 0 )
365
+ end
366
+ case alt_6
367
+ when 1
368
+ # at line 33:19: ( '\\'' a= ATTRIBUTE '\\'' )
369
+ # at line 33:19: ( '\\'' a= ATTRIBUTE '\\'' )
370
+ # at line 33:20: '\\'' a= ATTRIBUTE '\\''
371
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_class_name_word_107 )
372
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_111 )
373
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_class_name_word_113 )
374
+
375
+
376
+ when 2
377
+ # at line 33:45: ( '\"' a= ATTRIBUTE '\"' )
378
+ # at line 33:45: ( '\"' a= ATTRIBUTE '\"' )
379
+ # at line 33:46: '\"' a= ATTRIBUTE '\"'
380
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_class_name_word_119 )
381
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_123 )
382
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_class_name_word_125 )
383
+
384
+
385
+ when 3
386
+ # at line 33:69: ( ':' a= ATTRIBUTE )
387
+ # at line 33:69: ( ':' a= ATTRIBUTE )
388
+ # at line 33:70: ':' a= ATTRIBUTE
389
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_class_name_word_131 )
390
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_135 )
391
+
392
+
393
+ end
394
+ # --> action
395
+
396
+ @class_name = a.text
397
+
398
+ # <-- action
399
+
400
+ rescue ANTLR3::Error::RecognitionError => re
401
+ report_error(re)
402
+ recover(re)
403
+
404
+ ensure
405
+ # -> uncomment the next line to manually enable rule tracing
406
+ # trace_out( __method__, 5 )
407
+
408
+ end
409
+
410
+ return
411
+ end
412
+
413
+
414
+ #
415
+ # parser rule class_name_new_syntax
416
+ #
417
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g)
418
+ # 39:1: class_name_new_syntax : 'class_name' ':' class_name_word ;
419
+ #
420
+ def class_name_new_syntax
421
+ # -> uncomment the next line to manually enable rule tracing
422
+ # trace_in( __method__, 6 )
423
+
424
+ begin
425
+ # at line 39:24: 'class_name' ':' class_name_word
426
+ match( T__14, TOKENS_FOLLOWING_T__14_IN_class_name_new_syntax_148 )
427
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_class_name_new_syntax_150 )
428
+ @state.following.push( TOKENS_FOLLOWING_class_name_word_IN_class_name_new_syntax_152 )
429
+ class_name_word
430
+ @state.following.pop
431
+
432
+ rescue ANTLR3::Error::RecognitionError => re
433
+ report_error(re)
434
+ recover(re)
435
+
436
+ ensure
437
+ # -> uncomment the next line to manually enable rule tracing
438
+ # trace_out( __method__, 6 )
439
+
440
+ end
441
+
442
+ return
443
+ end
444
+
445
+
446
+ #
447
+ # parser rule attribute
448
+ #
449
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/has_one/HasOneParser.g)
450
+ # 42:1: attribute : ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) );
451
+ #
452
+ def attribute
453
+ # -> uncomment the next line to manually enable rule tracing
454
+ # trace_in( __method__, 7 )
455
+ a = nil
456
+
457
+ begin
458
+ # at line 42:10: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
459
+ alt_7 = 3
460
+ case look_7 = @input.peek( 1 )
461
+ when T__16 then alt_7 = 1
462
+ when T__17 then alt_7 = 2
463
+ when T__13 then alt_7 = 3
464
+ else
465
+ raise NoViableAlternative( "", 7, 0 )
466
+ end
467
+ case alt_7
468
+ when 1
469
+ # at line 42:12: ( '\\'' a= ATTRIBUTE '\\'' )
470
+ # at line 42:12: ( '\\'' a= ATTRIBUTE '\\'' )
471
+ # at line 42:13: '\\'' a= ATTRIBUTE '\\''
472
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_attribute_161 )
473
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_165 )
474
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_attribute_167 )
475
+
476
+
477
+ when 2
478
+ # at line 42:38: ( '\"' a= ATTRIBUTE '\"' )
479
+ # at line 42:38: ( '\"' a= ATTRIBUTE '\"' )
480
+ # at line 42:39: '\"' a= ATTRIBUTE '\"'
481
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_attribute_173 )
482
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_177 )
483
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_attribute_179 )
484
+
485
+
486
+ when 3
487
+ # at line 42:62: ( ':' a= ATTRIBUTE )
488
+ # at line 42:62: ( ':' a= ATTRIBUTE )
489
+ # at line 42:63: ':' a= ATTRIBUTE
490
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_attribute_185 )
491
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_189 )
492
+
493
+ # --> action
494
+
495
+ @attribute = a.text
496
+
497
+ # <-- action
498
+
499
+ end
500
+ rescue ANTLR3::Error::RecognitionError => re
501
+ report_error(re)
502
+ recover(re)
503
+
504
+ ensure
505
+ # -> uncomment the next line to manually enable rule tracing
506
+ # trace_out( __method__, 7 )
507
+
508
+ end
509
+
510
+ return
511
+ end
512
+
513
+
514
+
515
+ TOKENS_FOLLOWING_COMMENT_IN_comment_35 = Set[ 1 ]
516
+ TOKENS_FOLLOWING_COMMENT_IN_has_one_50 = Set[ 1, 4 ]
517
+ TOKENS_FOLLOWING_T__11_IN_has_one_56 = Set[ 13, 16, 17 ]
518
+ TOKENS_FOLLOWING_attribute_IN_has_one_58 = Set[ 1, 4, 12 ]
519
+ TOKENS_FOLLOWING_class_name_IN_has_one_60 = Set[ 1, 4 ]
520
+ TOKENS_FOLLOWING_comment_IN_has_one_63 = Set[ 1 ]
521
+ TOKENS_FOLLOWING_T__12_IN_class_name_76 = Set[ 13, 14 ]
522
+ TOKENS_FOLLOWING_class_name_old_syntax_IN_class_name_79 = Set[ 1 ]
523
+ TOKENS_FOLLOWING_class_name_new_syntax_IN_class_name_83 = Set[ 1 ]
524
+ TOKENS_FOLLOWING_T__13_IN_class_name_old_syntax_91 = Set[ 14 ]
525
+ TOKENS_FOLLOWING_T__14_IN_class_name_old_syntax_93 = Set[ 15 ]
526
+ TOKENS_FOLLOWING_T__15_IN_class_name_old_syntax_95 = Set[ 13, 16, 17 ]
527
+ TOKENS_FOLLOWING_class_name_word_IN_class_name_old_syntax_97 = Set[ 1 ]
528
+ TOKENS_FOLLOWING_T__16_IN_class_name_word_107 = Set[ 5 ]
529
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_111 = Set[ 16 ]
530
+ TOKENS_FOLLOWING_T__16_IN_class_name_word_113 = Set[ 1 ]
531
+ TOKENS_FOLLOWING_T__17_IN_class_name_word_119 = Set[ 5 ]
532
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_123 = Set[ 17 ]
533
+ TOKENS_FOLLOWING_T__17_IN_class_name_word_125 = Set[ 1 ]
534
+ TOKENS_FOLLOWING_T__13_IN_class_name_word_131 = Set[ 5 ]
535
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_135 = Set[ 1 ]
536
+ TOKENS_FOLLOWING_T__14_IN_class_name_new_syntax_148 = Set[ 13 ]
537
+ TOKENS_FOLLOWING_T__13_IN_class_name_new_syntax_150 = Set[ 13, 16, 17 ]
538
+ TOKENS_FOLLOWING_class_name_word_IN_class_name_new_syntax_152 = Set[ 1 ]
539
+ TOKENS_FOLLOWING_T__16_IN_attribute_161 = Set[ 5 ]
540
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_165 = Set[ 16 ]
541
+ TOKENS_FOLLOWING_T__16_IN_attribute_167 = Set[ 1 ]
542
+ TOKENS_FOLLOWING_T__17_IN_attribute_173 = Set[ 5 ]
543
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_177 = Set[ 17 ]
544
+ TOKENS_FOLLOWING_T__17_IN_attribute_179 = Set[ 1 ]
545
+ TOKENS_FOLLOWING_T__13_IN_attribute_185 = Set[ 5 ]
546
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_189 = Set[ 1 ]
547
+
548
+ end # class Parser < ANTLR3::Parser
549
+
550
+ at_exit { Parser.main( ARGV ) } if __FILE__ == $0
551
+ end
552
+