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,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
+