tripper 0.0.3d

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 (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,788 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # HasManyParser.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: HasManyParser.g
8
+ # Generated at: 2013-07-28 14:21:15
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
+ # HasManyParser.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
+ @@foreign_key = nil
70
+
71
+ # - - - - - - end action @parser::header - - - - - - -
72
+
73
+
74
+ module HasManyParser
75
+ # TokenData defines all of the token type integer values
76
+ # as constants, which will be included in all
77
+ # ANTLR-generated recognizers.
78
+ const_defined?( :TokenData ) or TokenData = ANTLR3::TokenScheme.new
79
+
80
+ module TokenData
81
+
82
+ # define the token constants
83
+ define_tokens( :ACTUALSTRING => 10, :T__16 => 16, :HC => 6, :T__15 => 15,
84
+ :T__18 => 18, :T__17 => 17, :T__12 => 12, :T__11 => 11,
85
+ :T__14 => 14, :T__13 => 13, :ATTRIBUTE => 5, :WHITESPACE => 9,
86
+ :LC => 7, :DIGIT => 8, :COMMENT => 4, :EOF => -1 )
87
+
88
+ # register the proper human-readable name or literal value
89
+ # for each token type
90
+ #
91
+ # this is necessary because anonymous tokens, which are
92
+ # created from literal values in the grammar, do not
93
+ # have descriptive names
94
+ register_names( "COMMENT", "ATTRIBUTE", "HC", "LC", "DIGIT", "WHITESPACE",
95
+ "ACTUALSTRING", "'has_many'", "','", "':'", "'class_name'",
96
+ "'=>'", "'\\''", "'\"'", "'foreign_key'" )
97
+
98
+ end
99
+
100
+
101
+ class Parser < ANTLR3::Parser
102
+ @grammar_home = HasManyParser
103
+
104
+ RULE_METHODS = [ :comment, :has_many, :class_name, :class_name_old_syntax,
105
+ :class_name_word, :class_name_new_syntax, :foreign_key,
106
+ :foreign_key_old_syntax, :foreign_key_word, :foreign_key_new_syntax,
107
+ :attribute ].freeze
108
+
109
+
110
+ include TokenData
111
+
112
+ begin
113
+ generated_using( "HasManyParser.g", "3.2.1-SNAPSHOT Jul 31, 2010 19:34:52", "1.8.11" )
114
+ rescue NoMethodError => error
115
+ # ignore
116
+ end
117
+
118
+ def initialize( input, options = {} )
119
+ super( input, options )
120
+
121
+
122
+ end
123
+
124
+ attr_accessor :attribute, :class_name, :foreign_key
125
+
126
+ # - - - - - - - - - - - - Rules - - - - - - - - - - - - -
127
+
128
+ #
129
+ # parser rule comment
130
+ #
131
+ # (in HasManyParser.g)
132
+ # 21:1: comment : COMMENT ;
133
+ #
134
+ def comment
135
+ # -> uncomment the next line to manually enable rule tracing
136
+ # trace_in( __method__, 1 )
137
+
138
+ begin
139
+ # at line 21:10: COMMENT
140
+ match( COMMENT, TOKENS_FOLLOWING_COMMENT_IN_comment_35 )
141
+
142
+ rescue ANTLR3::Error::RecognitionError => re
143
+ report_error(re)
144
+ recover(re)
145
+
146
+ ensure
147
+ # -> uncomment the next line to manually enable rule tracing
148
+ # trace_out( __method__, 1 )
149
+
150
+ end
151
+
152
+ return
153
+ end
154
+
155
+
156
+ #
157
+ # parser rule has_many
158
+ #
159
+ # (in HasManyParser.g)
160
+ # 23:1: has_many returns [expr] : ( (c= COMMENT )* | 'has_many' attribute ( class_name )? ( foreign_key )? ( comment )? ) ;
161
+ #
162
+ def has_many
163
+ # -> uncomment the next line to manually enable rule tracing
164
+ # trace_in( __method__, 2 )
165
+ expr = nil
166
+ c = nil
167
+
168
+ begin
169
+ # at line 23:26: ( (c= COMMENT )* | 'has_many' attribute ( class_name )? ( foreign_key )? ( comment )? )
170
+ # at line 23:26: ( (c= COMMENT )* | 'has_many' attribute ( class_name )? ( foreign_key )? ( comment )? )
171
+ alt_5 = 2
172
+ look_5_0 = @input.peek( 1 )
173
+
174
+ if ( look_5_0 == EOF || look_5_0 == COMMENT )
175
+ alt_5 = 1
176
+ elsif ( look_5_0 == T__11 )
177
+ alt_5 = 2
178
+ else
179
+ raise NoViableAlternative( "", 5, 0 )
180
+ end
181
+ case alt_5
182
+ when 1
183
+ # at line 23:27: (c= COMMENT )*
184
+ # at line 23:27: (c= COMMENT )*
185
+ while true # decision 1
186
+ alt_1 = 2
187
+ look_1_0 = @input.peek( 1 )
188
+
189
+ if ( look_1_0 == COMMENT )
190
+ alt_1 = 1
191
+
192
+ end
193
+ case alt_1
194
+ when 1
195
+ # at line 23:28: c= COMMENT
196
+ c = match( COMMENT, TOKENS_FOLLOWING_COMMENT_IN_has_many_50 )
197
+
198
+ else
199
+ break # out of loop for decision 1
200
+ end
201
+ end # loop for decision 1
202
+
203
+ when 2
204
+ # at line 23:42: 'has_many' attribute ( class_name )? ( foreign_key )? ( comment )?
205
+ match( T__11, TOKENS_FOLLOWING_T__11_IN_has_many_56 )
206
+ @state.following.push( TOKENS_FOLLOWING_attribute_IN_has_many_58 )
207
+ attribute
208
+ @state.following.pop
209
+ # at line 23:63: ( class_name )?
210
+ alt_2 = 2
211
+ look_2_0 = @input.peek( 1 )
212
+
213
+ if ( look_2_0 == T__12 )
214
+ look_2_1 = @input.peek( 2 )
215
+
216
+ if ( look_2_1 == T__13 )
217
+ look_2_3 = @input.peek( 3 )
218
+
219
+ if ( look_2_3 == T__14 )
220
+ alt_2 = 1
221
+ end
222
+ elsif ( look_2_1 == T__14 )
223
+ alt_2 = 1
224
+ end
225
+ end
226
+ case alt_2
227
+ when 1
228
+ # at line 23:63: class_name
229
+ @state.following.push( TOKENS_FOLLOWING_class_name_IN_has_many_60 )
230
+ class_name
231
+ @state.following.pop
232
+
233
+ end
234
+ # at line 23:75: ( foreign_key )?
235
+ alt_3 = 2
236
+ look_3_0 = @input.peek( 1 )
237
+
238
+ if ( look_3_0 == T__12 )
239
+ alt_3 = 1
240
+ end
241
+ case alt_3
242
+ when 1
243
+ # at line 23:75: foreign_key
244
+ @state.following.push( TOKENS_FOLLOWING_foreign_key_IN_has_many_63 )
245
+ foreign_key
246
+ @state.following.pop
247
+
248
+ end
249
+ # at line 23:88: ( comment )?
250
+ alt_4 = 2
251
+ look_4_0 = @input.peek( 1 )
252
+
253
+ if ( look_4_0 == COMMENT )
254
+ alt_4 = 1
255
+ end
256
+ case alt_4
257
+ when 1
258
+ # at line 23:88: comment
259
+ @state.following.push( TOKENS_FOLLOWING_comment_IN_has_many_66 )
260
+ comment
261
+ @state.following.pop
262
+
263
+ end
264
+
265
+ end
266
+ # --> action
267
+
268
+ expr = {attribute: @attribute, class_name: @class_name, foreign_key: @foreign_key} unless c
269
+
270
+ # <-- action
271
+
272
+ rescue ANTLR3::Error::RecognitionError => re
273
+ report_error(re)
274
+ recover(re)
275
+
276
+ ensure
277
+ # -> uncomment the next line to manually enable rule tracing
278
+ # trace_out( __method__, 2 )
279
+
280
+ end
281
+
282
+ return expr
283
+ end
284
+
285
+
286
+ #
287
+ # parser rule class_name
288
+ #
289
+ # (in HasManyParser.g)
290
+ # 29:1: class_name : ',' ( class_name_old_syntax | class_name_new_syntax ) ;
291
+ #
292
+ def class_name
293
+ # -> uncomment the next line to manually enable rule tracing
294
+ # trace_in( __method__, 3 )
295
+
296
+ begin
297
+ # at line 29:13: ',' ( class_name_old_syntax | class_name_new_syntax )
298
+ match( T__12, TOKENS_FOLLOWING_T__12_IN_class_name_79 )
299
+ # at line 29:17: ( class_name_old_syntax | class_name_new_syntax )
300
+ alt_6 = 2
301
+ look_6_0 = @input.peek( 1 )
302
+
303
+ if ( look_6_0 == T__13 )
304
+ alt_6 = 1
305
+ elsif ( look_6_0 == T__14 )
306
+ alt_6 = 2
307
+ else
308
+ raise NoViableAlternative( "", 6, 0 )
309
+ end
310
+ case alt_6
311
+ when 1
312
+ # at line 29:18: class_name_old_syntax
313
+ @state.following.push( TOKENS_FOLLOWING_class_name_old_syntax_IN_class_name_82 )
314
+ class_name_old_syntax
315
+ @state.following.pop
316
+
317
+ when 2
318
+ # at line 29:42: class_name_new_syntax
319
+ @state.following.push( TOKENS_FOLLOWING_class_name_new_syntax_IN_class_name_86 )
320
+ class_name_new_syntax
321
+ @state.following.pop
322
+
323
+ end
324
+
325
+ rescue ANTLR3::Error::RecognitionError => re
326
+ report_error(re)
327
+ recover(re)
328
+
329
+ ensure
330
+ # -> uncomment the next line to manually enable rule tracing
331
+ # trace_out( __method__, 3 )
332
+
333
+ end
334
+
335
+ return
336
+ end
337
+
338
+
339
+ #
340
+ # parser rule class_name_old_syntax
341
+ #
342
+ # (in HasManyParser.g)
343
+ # 31:1: class_name_old_syntax : ':' 'class_name' '=>' class_name_word ;
344
+ #
345
+ def class_name_old_syntax
346
+ # -> uncomment the next line to manually enable rule tracing
347
+ # trace_in( __method__, 4 )
348
+
349
+ begin
350
+ # at line 31:24: ':' 'class_name' '=>' class_name_word
351
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_class_name_old_syntax_94 )
352
+ match( T__14, TOKENS_FOLLOWING_T__14_IN_class_name_old_syntax_96 )
353
+ match( T__15, TOKENS_FOLLOWING_T__15_IN_class_name_old_syntax_98 )
354
+ @state.following.push( TOKENS_FOLLOWING_class_name_word_IN_class_name_old_syntax_100 )
355
+ class_name_word
356
+ @state.following.pop
357
+
358
+ rescue ANTLR3::Error::RecognitionError => re
359
+ report_error(re)
360
+ recover(re)
361
+
362
+ ensure
363
+ # -> uncomment the next line to manually enable rule tracing
364
+ # trace_out( __method__, 4 )
365
+
366
+ end
367
+
368
+ return
369
+ end
370
+
371
+
372
+ #
373
+ # parser rule class_name_word
374
+ #
375
+ # (in HasManyParser.g)
376
+ # 34:1: class_name_word : ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) ) ;
377
+ #
378
+ def class_name_word
379
+ # -> uncomment the next line to manually enable rule tracing
380
+ # trace_in( __method__, 5 )
381
+ a = nil
382
+
383
+ begin
384
+ # at line 34:18: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
385
+ # at line 34:18: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
386
+ alt_7 = 3
387
+ case look_7 = @input.peek( 1 )
388
+ when T__16 then alt_7 = 1
389
+ when T__17 then alt_7 = 2
390
+ when T__13 then alt_7 = 3
391
+ else
392
+ raise NoViableAlternative( "", 7, 0 )
393
+ end
394
+ case alt_7
395
+ when 1
396
+ # at line 34:19: ( '\\'' a= ATTRIBUTE '\\'' )
397
+ # at line 34:19: ( '\\'' a= ATTRIBUTE '\\'' )
398
+ # at line 34:20: '\\'' a= ATTRIBUTE '\\''
399
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_class_name_word_110 )
400
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_114 )
401
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_class_name_word_116 )
402
+
403
+
404
+ when 2
405
+ # at line 34:45: ( '\"' a= ATTRIBUTE '\"' )
406
+ # at line 34:45: ( '\"' a= ATTRIBUTE '\"' )
407
+ # at line 34:46: '\"' a= ATTRIBUTE '\"'
408
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_class_name_word_122 )
409
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_126 )
410
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_class_name_word_128 )
411
+
412
+
413
+ when 3
414
+ # at line 34:69: ( ':' a= ATTRIBUTE )
415
+ # at line 34:69: ( ':' a= ATTRIBUTE )
416
+ # at line 34:70: ':' a= ATTRIBUTE
417
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_class_name_word_134 )
418
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_138 )
419
+
420
+
421
+ end
422
+ # --> action
423
+
424
+ @class_name = a.text
425
+
426
+ # <-- action
427
+
428
+ rescue ANTLR3::Error::RecognitionError => re
429
+ report_error(re)
430
+ recover(re)
431
+
432
+ ensure
433
+ # -> uncomment the next line to manually enable rule tracing
434
+ # trace_out( __method__, 5 )
435
+
436
+ end
437
+
438
+ return
439
+ end
440
+
441
+
442
+ #
443
+ # parser rule class_name_new_syntax
444
+ #
445
+ # (in HasManyParser.g)
446
+ # 40:1: class_name_new_syntax : 'class_name' ':' class_name_word ;
447
+ #
448
+ def class_name_new_syntax
449
+ # -> uncomment the next line to manually enable rule tracing
450
+ # trace_in( __method__, 6 )
451
+
452
+ begin
453
+ # at line 40:24: 'class_name' ':' class_name_word
454
+ match( T__14, TOKENS_FOLLOWING_T__14_IN_class_name_new_syntax_151 )
455
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_class_name_new_syntax_153 )
456
+ @state.following.push( TOKENS_FOLLOWING_class_name_word_IN_class_name_new_syntax_155 )
457
+ class_name_word
458
+ @state.following.pop
459
+
460
+ rescue ANTLR3::Error::RecognitionError => re
461
+ report_error(re)
462
+ recover(re)
463
+
464
+ ensure
465
+ # -> uncomment the next line to manually enable rule tracing
466
+ # trace_out( __method__, 6 )
467
+
468
+ end
469
+
470
+ return
471
+ end
472
+
473
+
474
+ #
475
+ # parser rule foreign_key
476
+ #
477
+ # (in HasManyParser.g)
478
+ # 42:1: foreign_key : ',' ( foreign_key_old_syntax | foreign_key_new_syntax ) ;
479
+ #
480
+ def foreign_key
481
+ # -> uncomment the next line to manually enable rule tracing
482
+ # trace_in( __method__, 7 )
483
+
484
+ begin
485
+ # at line 42:14: ',' ( foreign_key_old_syntax | foreign_key_new_syntax )
486
+ match( T__12, TOKENS_FOLLOWING_T__12_IN_foreign_key_162 )
487
+ # at line 42:18: ( foreign_key_old_syntax | foreign_key_new_syntax )
488
+ alt_8 = 2
489
+ look_8_0 = @input.peek( 1 )
490
+
491
+ if ( look_8_0 == T__13 )
492
+ alt_8 = 1
493
+ elsif ( look_8_0 == T__18 )
494
+ alt_8 = 2
495
+ else
496
+ raise NoViableAlternative( "", 8, 0 )
497
+ end
498
+ case alt_8
499
+ when 1
500
+ # at line 42:19: foreign_key_old_syntax
501
+ @state.following.push( TOKENS_FOLLOWING_foreign_key_old_syntax_IN_foreign_key_165 )
502
+ foreign_key_old_syntax
503
+ @state.following.pop
504
+
505
+ when 2
506
+ # at line 42:44: foreign_key_new_syntax
507
+ @state.following.push( TOKENS_FOLLOWING_foreign_key_new_syntax_IN_foreign_key_169 )
508
+ foreign_key_new_syntax
509
+ @state.following.pop
510
+
511
+ end
512
+
513
+ rescue ANTLR3::Error::RecognitionError => re
514
+ report_error(re)
515
+ recover(re)
516
+
517
+ ensure
518
+ # -> uncomment the next line to manually enable rule tracing
519
+ # trace_out( __method__, 7 )
520
+
521
+ end
522
+
523
+ return
524
+ end
525
+
526
+
527
+ #
528
+ # parser rule foreign_key_old_syntax
529
+ #
530
+ # (in HasManyParser.g)
531
+ # 44:1: foreign_key_old_syntax : ':' 'foreign_key' '=>' foreign_key_word ;
532
+ #
533
+ def foreign_key_old_syntax
534
+ # -> uncomment the next line to manually enable rule tracing
535
+ # trace_in( __method__, 8 )
536
+
537
+ begin
538
+ # at line 44:25: ':' 'foreign_key' '=>' foreign_key_word
539
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_foreign_key_old_syntax_177 )
540
+ match( T__18, TOKENS_FOLLOWING_T__18_IN_foreign_key_old_syntax_179 )
541
+ match( T__15, TOKENS_FOLLOWING_T__15_IN_foreign_key_old_syntax_181 )
542
+ @state.following.push( TOKENS_FOLLOWING_foreign_key_word_IN_foreign_key_old_syntax_183 )
543
+ foreign_key_word
544
+ @state.following.pop
545
+
546
+ rescue ANTLR3::Error::RecognitionError => re
547
+ report_error(re)
548
+ recover(re)
549
+
550
+ ensure
551
+ # -> uncomment the next line to manually enable rule tracing
552
+ # trace_out( __method__, 8 )
553
+
554
+ end
555
+
556
+ return
557
+ end
558
+
559
+
560
+ #
561
+ # parser rule foreign_key_word
562
+ #
563
+ # (in HasManyParser.g)
564
+ # 47:1: foreign_key_word : ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) ) ;
565
+ #
566
+ def foreign_key_word
567
+ # -> uncomment the next line to manually enable rule tracing
568
+ # trace_in( __method__, 9 )
569
+ a = nil
570
+
571
+ begin
572
+ # at line 47:19: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
573
+ # at line 47:19: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
574
+ alt_9 = 3
575
+ case look_9 = @input.peek( 1 )
576
+ when T__16 then alt_9 = 1
577
+ when T__17 then alt_9 = 2
578
+ when T__13 then alt_9 = 3
579
+ else
580
+ raise NoViableAlternative( "", 9, 0 )
581
+ end
582
+ case alt_9
583
+ when 1
584
+ # at line 47:20: ( '\\'' a= ATTRIBUTE '\\'' )
585
+ # at line 47:20: ( '\\'' a= ATTRIBUTE '\\'' )
586
+ # at line 47:21: '\\'' a= ATTRIBUTE '\\''
587
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_foreign_key_word_193 )
588
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_foreign_key_word_197 )
589
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_foreign_key_word_199 )
590
+
591
+
592
+ when 2
593
+ # at line 47:46: ( '\"' a= ATTRIBUTE '\"' )
594
+ # at line 47:46: ( '\"' a= ATTRIBUTE '\"' )
595
+ # at line 47:47: '\"' a= ATTRIBUTE '\"'
596
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_foreign_key_word_205 )
597
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_foreign_key_word_209 )
598
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_foreign_key_word_211 )
599
+
600
+
601
+ when 3
602
+ # at line 47:70: ( ':' a= ATTRIBUTE )
603
+ # at line 47:70: ( ':' a= ATTRIBUTE )
604
+ # at line 47:71: ':' a= ATTRIBUTE
605
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_foreign_key_word_217 )
606
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_foreign_key_word_221 )
607
+
608
+
609
+ end
610
+ # --> action
611
+
612
+ puts "hello..."
613
+ @foreign_key = a.text
614
+
615
+ # <-- action
616
+
617
+ rescue ANTLR3::Error::RecognitionError => re
618
+ report_error(re)
619
+ recover(re)
620
+
621
+ ensure
622
+ # -> uncomment the next line to manually enable rule tracing
623
+ # trace_out( __method__, 9 )
624
+
625
+ end
626
+
627
+ return
628
+ end
629
+
630
+
631
+ #
632
+ # parser rule foreign_key_new_syntax
633
+ #
634
+ # (in HasManyParser.g)
635
+ # 54:1: foreign_key_new_syntax : 'foreign_key' ':' foreign_key_word ;
636
+ #
637
+ def foreign_key_new_syntax
638
+ # -> uncomment the next line to manually enable rule tracing
639
+ # trace_in( __method__, 10 )
640
+
641
+ begin
642
+ # at line 54:25: 'foreign_key' ':' foreign_key_word
643
+ match( T__18, TOKENS_FOLLOWING_T__18_IN_foreign_key_new_syntax_234 )
644
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_foreign_key_new_syntax_236 )
645
+ @state.following.push( TOKENS_FOLLOWING_foreign_key_word_IN_foreign_key_new_syntax_238 )
646
+ foreign_key_word
647
+ @state.following.pop
648
+
649
+ rescue ANTLR3::Error::RecognitionError => re
650
+ report_error(re)
651
+ recover(re)
652
+
653
+ ensure
654
+ # -> uncomment the next line to manually enable rule tracing
655
+ # trace_out( __method__, 10 )
656
+
657
+ end
658
+
659
+ return
660
+ end
661
+
662
+
663
+ #
664
+ # parser rule attribute
665
+ #
666
+ # (in HasManyParser.g)
667
+ # 57:1: attribute : ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) );
668
+ #
669
+ def attribute
670
+ # -> uncomment the next line to manually enable rule tracing
671
+ # trace_in( __method__, 11 )
672
+ a = nil
673
+
674
+ begin
675
+ # at line 57:10: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
676
+ alt_10 = 3
677
+ case look_10 = @input.peek( 1 )
678
+ when T__16 then alt_10 = 1
679
+ when T__17 then alt_10 = 2
680
+ when T__13 then alt_10 = 3
681
+ else
682
+ raise NoViableAlternative( "", 10, 0 )
683
+ end
684
+ case alt_10
685
+ when 1
686
+ # at line 57:12: ( '\\'' a= ATTRIBUTE '\\'' )
687
+ # at line 57:12: ( '\\'' a= ATTRIBUTE '\\'' )
688
+ # at line 57:13: '\\'' a= ATTRIBUTE '\\''
689
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_attribute_247 )
690
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_251 )
691
+ match( T__16, TOKENS_FOLLOWING_T__16_IN_attribute_253 )
692
+
693
+
694
+ when 2
695
+ # at line 57:38: ( '\"' a= ATTRIBUTE '\"' )
696
+ # at line 57:38: ( '\"' a= ATTRIBUTE '\"' )
697
+ # at line 57:39: '\"' a= ATTRIBUTE '\"'
698
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_attribute_259 )
699
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_263 )
700
+ match( T__17, TOKENS_FOLLOWING_T__17_IN_attribute_265 )
701
+
702
+
703
+ when 3
704
+ # at line 57:62: ( ':' a= ATTRIBUTE )
705
+ # at line 57:62: ( ':' a= ATTRIBUTE )
706
+ # at line 57:63: ':' a= ATTRIBUTE
707
+ match( T__13, TOKENS_FOLLOWING_T__13_IN_attribute_271 )
708
+ a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_275 )
709
+
710
+ # --> action
711
+
712
+ @attribute = a.text
713
+
714
+ # <-- action
715
+
716
+ end
717
+ rescue ANTLR3::Error::RecognitionError => re
718
+ report_error(re)
719
+ recover(re)
720
+
721
+ ensure
722
+ # -> uncomment the next line to manually enable rule tracing
723
+ # trace_out( __method__, 11 )
724
+
725
+ end
726
+
727
+ return
728
+ end
729
+
730
+
731
+
732
+ TOKENS_FOLLOWING_COMMENT_IN_comment_35 = Set[ 1 ]
733
+ TOKENS_FOLLOWING_COMMENT_IN_has_many_50 = Set[ 1, 4 ]
734
+ TOKENS_FOLLOWING_T__11_IN_has_many_56 = Set[ 13, 16, 17 ]
735
+ TOKENS_FOLLOWING_attribute_IN_has_many_58 = Set[ 1, 4, 12 ]
736
+ TOKENS_FOLLOWING_class_name_IN_has_many_60 = Set[ 1, 4, 12 ]
737
+ TOKENS_FOLLOWING_foreign_key_IN_has_many_63 = Set[ 1, 4 ]
738
+ TOKENS_FOLLOWING_comment_IN_has_many_66 = Set[ 1 ]
739
+ TOKENS_FOLLOWING_T__12_IN_class_name_79 = Set[ 13, 14 ]
740
+ TOKENS_FOLLOWING_class_name_old_syntax_IN_class_name_82 = Set[ 1 ]
741
+ TOKENS_FOLLOWING_class_name_new_syntax_IN_class_name_86 = Set[ 1 ]
742
+ TOKENS_FOLLOWING_T__13_IN_class_name_old_syntax_94 = Set[ 14 ]
743
+ TOKENS_FOLLOWING_T__14_IN_class_name_old_syntax_96 = Set[ 15 ]
744
+ TOKENS_FOLLOWING_T__15_IN_class_name_old_syntax_98 = Set[ 13, 16, 17 ]
745
+ TOKENS_FOLLOWING_class_name_word_IN_class_name_old_syntax_100 = Set[ 1 ]
746
+ TOKENS_FOLLOWING_T__16_IN_class_name_word_110 = Set[ 5 ]
747
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_114 = Set[ 16 ]
748
+ TOKENS_FOLLOWING_T__16_IN_class_name_word_116 = Set[ 1 ]
749
+ TOKENS_FOLLOWING_T__17_IN_class_name_word_122 = Set[ 5 ]
750
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_126 = Set[ 17 ]
751
+ TOKENS_FOLLOWING_T__17_IN_class_name_word_128 = Set[ 1 ]
752
+ TOKENS_FOLLOWING_T__13_IN_class_name_word_134 = Set[ 5 ]
753
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_class_name_word_138 = Set[ 1 ]
754
+ TOKENS_FOLLOWING_T__14_IN_class_name_new_syntax_151 = Set[ 13 ]
755
+ TOKENS_FOLLOWING_T__13_IN_class_name_new_syntax_153 = Set[ 13, 16, 17 ]
756
+ TOKENS_FOLLOWING_class_name_word_IN_class_name_new_syntax_155 = Set[ 1 ]
757
+ TOKENS_FOLLOWING_T__12_IN_foreign_key_162 = Set[ 13, 18 ]
758
+ TOKENS_FOLLOWING_foreign_key_old_syntax_IN_foreign_key_165 = Set[ 1 ]
759
+ TOKENS_FOLLOWING_foreign_key_new_syntax_IN_foreign_key_169 = Set[ 1 ]
760
+ TOKENS_FOLLOWING_T__13_IN_foreign_key_old_syntax_177 = Set[ 18 ]
761
+ TOKENS_FOLLOWING_T__18_IN_foreign_key_old_syntax_179 = Set[ 15 ]
762
+ TOKENS_FOLLOWING_T__15_IN_foreign_key_old_syntax_181 = Set[ 13, 16, 17 ]
763
+ TOKENS_FOLLOWING_foreign_key_word_IN_foreign_key_old_syntax_183 = Set[ 1 ]
764
+ TOKENS_FOLLOWING_T__16_IN_foreign_key_word_193 = Set[ 5 ]
765
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_foreign_key_word_197 = Set[ 16 ]
766
+ TOKENS_FOLLOWING_T__16_IN_foreign_key_word_199 = Set[ 1 ]
767
+ TOKENS_FOLLOWING_T__17_IN_foreign_key_word_205 = Set[ 5 ]
768
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_foreign_key_word_209 = Set[ 17 ]
769
+ TOKENS_FOLLOWING_T__17_IN_foreign_key_word_211 = Set[ 1 ]
770
+ TOKENS_FOLLOWING_T__13_IN_foreign_key_word_217 = Set[ 5 ]
771
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_foreign_key_word_221 = Set[ 1 ]
772
+ TOKENS_FOLLOWING_T__18_IN_foreign_key_new_syntax_234 = Set[ 13 ]
773
+ TOKENS_FOLLOWING_T__13_IN_foreign_key_new_syntax_236 = Set[ 13, 16, 17 ]
774
+ TOKENS_FOLLOWING_foreign_key_word_IN_foreign_key_new_syntax_238 = Set[ 1 ]
775
+ TOKENS_FOLLOWING_T__16_IN_attribute_247 = Set[ 5 ]
776
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_251 = Set[ 16 ]
777
+ TOKENS_FOLLOWING_T__16_IN_attribute_253 = Set[ 1 ]
778
+ TOKENS_FOLLOWING_T__17_IN_attribute_259 = Set[ 5 ]
779
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_263 = Set[ 17 ]
780
+ TOKENS_FOLLOWING_T__17_IN_attribute_265 = Set[ 1 ]
781
+ TOKENS_FOLLOWING_T__13_IN_attribute_271 = Set[ 5 ]
782
+ TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_275 = Set[ 1 ]
783
+
784
+ end # class Parser < ANTLR3::Parser
785
+
786
+ at_exit { Parser.main( ARGV ) } if __FILE__ == $0
787
+ end
788
+