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,9 @@
1
+ require './HasOneParserParser'
2
+ require './HasOneParserLexer'
3
+ @input = ANTLR3::StringStream.new( "has_one :supertype" )
4
+ @lexer = HasOneParser::Lexer.new(@input)
5
+ @tokens = ANTLR3::CommonTokenStream.new(@lexer)
6
+ @parser = HasOneParser::Parser.new(@tokens)
7
+ a= @parser.has_one
8
+ puts a
9
+ #belongs_to :community, :class_name => 'Community'
@@ -0,0 +1,68 @@
1
+ grammar ValidatesParser;
2
+
3
+ options {
4
+ language = Ruby;
5
+ }
6
+
7
+ @header {
8
+ def strip_quotes str
9
+ return str[1,(str.length)-2]
10
+ end
11
+ }
12
+
13
+ @members {
14
+ attr_accessor :attribute, :list, :type
15
+ }
16
+
17
+ comment: COMMENT;
18
+
19
+ validates returns [expr]: ((c=COMMENT)* | 'validates' attribute validation_helper comment?)
20
+ {
21
+ @list = [] unless @list
22
+ $expr = {type: @type, attribute: @attribute, on: @list} unless $c
23
+ }
24
+ ;
25
+
26
+ validation_helper: ',' (validation_helper_old_syntax | validation_helper_new_syntax);
27
+
28
+ validation_helper_old_syntax: ':' (a='uniqueness' | a='presence') '=>' ('true' | ruby_scope) {@type = $a.text};
29
+
30
+ validation_helper_new_syntax: (a='uniqueness' | a='presence') ':' ('true' | ruby_scope) {@type = $a.text};
31
+
32
+ ruby_scope: '{' (scope_old_syntax | scope_new_syntax) '}';
33
+
34
+ scope_old_syntax: ':' 'scope' '=>' (list | list_attribute);
35
+
36
+ scope_new_syntax: 'scope' ':' (list | list_attribute);
37
+
38
+ list: '[' list_attribute ',' list_attribute* ']';
39
+
40
+ attribute: ('\'' a=ATTRIBUTE '\'') | ('"' a=ATTRIBUTE '"') | (':' a=ATTRIBUTE)
41
+ {
42
+ @attribute = $a.text
43
+ }
44
+ ;
45
+
46
+ list_attribute: (('\'' a=ATTRIBUTE '\'') | ('"' a=ATTRIBUTE '"') | (':' a=ATTRIBUTE))
47
+ {
48
+ @list = [] unless @list
49
+ @list << $a.text
50
+ }
51
+ ;
52
+
53
+ //string: STRING;
54
+
55
+ /*------------------------------------------------------------------
56
+ * LEXER RULES
57
+ *------------------------------------------------------------------*/
58
+ //LITERAL: (HC|LC)(HC|LC|'_')*;
59
+ ATTRIBUTE: (HC|LC)(HC|LC|DIGIT|'_')*;
60
+ //LITERAL: (HC|LC)(HC|LC|DIGIT|'_'|'-')*;
61
+ //NUMERICCONSTANT: ('-')? DIGIT+ ('.' DIGIT+)?;
62
+ //STRING: '\'' ACTUALSTRING '\'';
63
+ WHITESPACE: ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ { $channel = HIDDEN; };
64
+ COMMENT: '#' ~('\n'|'\r')*;
65
+ fragment ACTUALSTRING: ~('\\'|'\'')*;
66
+ fragment DIGIT: '0'..'9';
67
+ fragment HC: 'A'..'Z';
68
+ fragment LC: 'a'..'z';
@@ -0,0 +1,35 @@
1
+ T__24=24
2
+ T__23=23
3
+ T__22=22
4
+ T__21=21
5
+ T__20=20
6
+ ATTRIBUTE=5
7
+ WHITESPACE=9
8
+ ACTUALSTRING=10
9
+ T__19=19
10
+ T__16=16
11
+ HC=6
12
+ T__15=15
13
+ T__18=18
14
+ T__17=17
15
+ T__12=12
16
+ T__11=11
17
+ T__14=14
18
+ T__13=13
19
+ LC=7
20
+ DIGIT=8
21
+ COMMENT=4
22
+ '"'=24
23
+ 'true'=17
24
+ '}'=19
25
+ 'presence'=15
26
+ 'uniqueness'=14
27
+ '{'=18
28
+ '\''=23
29
+ 'validates'=11
30
+ 'scope'=20
31
+ ':'=13
32
+ '['=21
33
+ ','=12
34
+ '=>'=16
35
+ ']'=22
@@ -0,0 +1,899 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.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/validates/ValidatesParser.g
8
+ # Generated at: 2013-05-05 11:33:11
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
+
60
+ module ValidatesParser
61
+ # TokenData defines all of the token type integer values
62
+ # as constants, which will be included in all
63
+ # ANTLR-generated recognizers.
64
+ const_defined?( :TokenData ) or TokenData = ANTLR3::TokenScheme.new
65
+
66
+ module TokenData
67
+
68
+ # define the token constants
69
+ define_tokens( :T__24 => 24, :T__23 => 23, :T__22 => 22, :T__21 => 21,
70
+ :T__20 => 20, :ATTRIBUTE => 5, :WHITESPACE => 9, :EOF => -1,
71
+ :ACTUALSTRING => 10, :T__19 => 19, :T__16 => 16, :HC => 6,
72
+ :T__15 => 15, :T__18 => 18, :T__17 => 17, :T__12 => 12,
73
+ :T__11 => 11, :T__14 => 14, :T__13 => 13, :LC => 7, :DIGIT => 8,
74
+ :COMMENT => 4 )
75
+
76
+ end
77
+
78
+
79
+ class Lexer < ANTLR3::Lexer
80
+ @grammar_home = ValidatesParser
81
+ include TokenData
82
+
83
+
84
+ begin
85
+ generated_using( "/Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g", "3.2.1-SNAPSHOT Jul 31, 2010 19:34:52", "1.8.11" )
86
+ rescue NoMethodError => error
87
+ # ignore
88
+ end
89
+
90
+ RULE_NAMES = [ "T__11", "T__12", "T__13", "T__14", "T__15", "T__16",
91
+ "T__17", "T__18", "T__19", "T__20", "T__21", "T__22",
92
+ "T__23", "T__24", "ATTRIBUTE", "WHITESPACE", "COMMENT",
93
+ "ACTUALSTRING", "DIGIT", "HC", "LC" ].freeze
94
+ RULE_METHODS = [ :t__11!, :t__12!, :t__13!, :t__14!, :t__15!, :t__16!,
95
+ :t__17!, :t__18!, :t__19!, :t__20!, :t__21!, :t__22!,
96
+ :t__23!, :t__24!, :attribute!, :whitespace!, :comment!,
97
+ :actualstring!, :digit!, :hc!, :lc! ].freeze
98
+
99
+
100
+ def initialize( input=nil, options = {} )
101
+ super( input, options )
102
+
103
+ end
104
+
105
+
106
+ # - - - - - - - - - - - lexer rules - - - - - - - - - - - -
107
+ # lexer rule t__11! (T__11)
108
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
109
+ def t__11!
110
+ # -> uncomment the next line to manually enable rule tracing
111
+ # trace_in( __method__, 1 )
112
+
113
+ type = T__11
114
+ channel = ANTLR3::DEFAULT_CHANNEL
115
+
116
+
117
+ # - - - - main rule block - - - -
118
+ # at line 7:9: 'validates'
119
+ match( "validates" )
120
+
121
+
122
+ @state.type = type
123
+ @state.channel = channel
124
+
125
+ ensure
126
+ # -> uncomment the next line to manually enable rule tracing
127
+ # trace_out( __method__, 1 )
128
+
129
+ end
130
+
131
+ # lexer rule t__12! (T__12)
132
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
133
+ def t__12!
134
+ # -> uncomment the next line to manually enable rule tracing
135
+ # trace_in( __method__, 2 )
136
+
137
+ type = T__12
138
+ channel = ANTLR3::DEFAULT_CHANNEL
139
+
140
+
141
+ # - - - - main rule block - - - -
142
+ # at line 8:9: ','
143
+ match( 0x2c )
144
+
145
+
146
+ @state.type = type
147
+ @state.channel = channel
148
+
149
+ ensure
150
+ # -> uncomment the next line to manually enable rule tracing
151
+ # trace_out( __method__, 2 )
152
+
153
+ end
154
+
155
+ # lexer rule t__13! (T__13)
156
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
157
+ def t__13!
158
+ # -> uncomment the next line to manually enable rule tracing
159
+ # trace_in( __method__, 3 )
160
+
161
+ type = T__13
162
+ channel = ANTLR3::DEFAULT_CHANNEL
163
+
164
+
165
+ # - - - - main rule block - - - -
166
+ # at line 9:9: ':'
167
+ match( 0x3a )
168
+
169
+
170
+ @state.type = type
171
+ @state.channel = channel
172
+
173
+ ensure
174
+ # -> uncomment the next line to manually enable rule tracing
175
+ # trace_out( __method__, 3 )
176
+
177
+ end
178
+
179
+ # lexer rule t__14! (T__14)
180
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
181
+ def t__14!
182
+ # -> uncomment the next line to manually enable rule tracing
183
+ # trace_in( __method__, 4 )
184
+
185
+ type = T__14
186
+ channel = ANTLR3::DEFAULT_CHANNEL
187
+
188
+
189
+ # - - - - main rule block - - - -
190
+ # at line 10:9: 'uniqueness'
191
+ match( "uniqueness" )
192
+
193
+
194
+ @state.type = type
195
+ @state.channel = channel
196
+
197
+ ensure
198
+ # -> uncomment the next line to manually enable rule tracing
199
+ # trace_out( __method__, 4 )
200
+
201
+ end
202
+
203
+ # lexer rule t__15! (T__15)
204
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
205
+ def t__15!
206
+ # -> uncomment the next line to manually enable rule tracing
207
+ # trace_in( __method__, 5 )
208
+
209
+ type = T__15
210
+ channel = ANTLR3::DEFAULT_CHANNEL
211
+
212
+
213
+ # - - - - main rule block - - - -
214
+ # at line 11:9: 'presence'
215
+ match( "presence" )
216
+
217
+
218
+ @state.type = type
219
+ @state.channel = channel
220
+
221
+ ensure
222
+ # -> uncomment the next line to manually enable rule tracing
223
+ # trace_out( __method__, 5 )
224
+
225
+ end
226
+
227
+ # lexer rule t__16! (T__16)
228
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
229
+ def t__16!
230
+ # -> uncomment the next line to manually enable rule tracing
231
+ # trace_in( __method__, 6 )
232
+
233
+ type = T__16
234
+ channel = ANTLR3::DEFAULT_CHANNEL
235
+
236
+
237
+ # - - - - main rule block - - - -
238
+ # at line 12:9: '=>'
239
+ match( "=>" )
240
+
241
+
242
+ @state.type = type
243
+ @state.channel = channel
244
+
245
+ ensure
246
+ # -> uncomment the next line to manually enable rule tracing
247
+ # trace_out( __method__, 6 )
248
+
249
+ end
250
+
251
+ # lexer rule t__17! (T__17)
252
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
253
+ def t__17!
254
+ # -> uncomment the next line to manually enable rule tracing
255
+ # trace_in( __method__, 7 )
256
+
257
+ type = T__17
258
+ channel = ANTLR3::DEFAULT_CHANNEL
259
+
260
+
261
+ # - - - - main rule block - - - -
262
+ # at line 13:9: 'true'
263
+ match( "true" )
264
+
265
+
266
+ @state.type = type
267
+ @state.channel = channel
268
+
269
+ ensure
270
+ # -> uncomment the next line to manually enable rule tracing
271
+ # trace_out( __method__, 7 )
272
+
273
+ end
274
+
275
+ # lexer rule t__18! (T__18)
276
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
277
+ def t__18!
278
+ # -> uncomment the next line to manually enable rule tracing
279
+ # trace_in( __method__, 8 )
280
+
281
+ type = T__18
282
+ channel = ANTLR3::DEFAULT_CHANNEL
283
+
284
+
285
+ # - - - - main rule block - - - -
286
+ # at line 14:9: '{'
287
+ match( 0x7b )
288
+
289
+
290
+ @state.type = type
291
+ @state.channel = channel
292
+
293
+ ensure
294
+ # -> uncomment the next line to manually enable rule tracing
295
+ # trace_out( __method__, 8 )
296
+
297
+ end
298
+
299
+ # lexer rule t__19! (T__19)
300
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
301
+ def t__19!
302
+ # -> uncomment the next line to manually enable rule tracing
303
+ # trace_in( __method__, 9 )
304
+
305
+ type = T__19
306
+ channel = ANTLR3::DEFAULT_CHANNEL
307
+
308
+
309
+ # - - - - main rule block - - - -
310
+ # at line 15:9: '}'
311
+ match( 0x7d )
312
+
313
+
314
+ @state.type = type
315
+ @state.channel = channel
316
+
317
+ ensure
318
+ # -> uncomment the next line to manually enable rule tracing
319
+ # trace_out( __method__, 9 )
320
+
321
+ end
322
+
323
+ # lexer rule t__20! (T__20)
324
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
325
+ def t__20!
326
+ # -> uncomment the next line to manually enable rule tracing
327
+ # trace_in( __method__, 10 )
328
+
329
+ type = T__20
330
+ channel = ANTLR3::DEFAULT_CHANNEL
331
+
332
+
333
+ # - - - - main rule block - - - -
334
+ # at line 16:9: 'scope'
335
+ match( "scope" )
336
+
337
+
338
+ @state.type = type
339
+ @state.channel = channel
340
+
341
+ ensure
342
+ # -> uncomment the next line to manually enable rule tracing
343
+ # trace_out( __method__, 10 )
344
+
345
+ end
346
+
347
+ # lexer rule t__21! (T__21)
348
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
349
+ def t__21!
350
+ # -> uncomment the next line to manually enable rule tracing
351
+ # trace_in( __method__, 11 )
352
+
353
+ type = T__21
354
+ channel = ANTLR3::DEFAULT_CHANNEL
355
+
356
+
357
+ # - - - - main rule block - - - -
358
+ # at line 17:9: '['
359
+ match( 0x5b )
360
+
361
+
362
+ @state.type = type
363
+ @state.channel = channel
364
+
365
+ ensure
366
+ # -> uncomment the next line to manually enable rule tracing
367
+ # trace_out( __method__, 11 )
368
+
369
+ end
370
+
371
+ # lexer rule t__22! (T__22)
372
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
373
+ def t__22!
374
+ # -> uncomment the next line to manually enable rule tracing
375
+ # trace_in( __method__, 12 )
376
+
377
+ type = T__22
378
+ channel = ANTLR3::DEFAULT_CHANNEL
379
+
380
+
381
+ # - - - - main rule block - - - -
382
+ # at line 18:9: ']'
383
+ match( 0x5d )
384
+
385
+
386
+ @state.type = type
387
+ @state.channel = channel
388
+
389
+ ensure
390
+ # -> uncomment the next line to manually enable rule tracing
391
+ # trace_out( __method__, 12 )
392
+
393
+ end
394
+
395
+ # lexer rule t__23! (T__23)
396
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
397
+ def t__23!
398
+ # -> uncomment the next line to manually enable rule tracing
399
+ # trace_in( __method__, 13 )
400
+
401
+ type = T__23
402
+ channel = ANTLR3::DEFAULT_CHANNEL
403
+
404
+
405
+ # - - - - main rule block - - - -
406
+ # at line 19:9: '\\''
407
+ match( 0x27 )
408
+
409
+
410
+ @state.type = type
411
+ @state.channel = channel
412
+
413
+ ensure
414
+ # -> uncomment the next line to manually enable rule tracing
415
+ # trace_out( __method__, 13 )
416
+
417
+ end
418
+
419
+ # lexer rule t__24! (T__24)
420
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
421
+ def t__24!
422
+ # -> uncomment the next line to manually enable rule tracing
423
+ # trace_in( __method__, 14 )
424
+
425
+ type = T__24
426
+ channel = ANTLR3::DEFAULT_CHANNEL
427
+
428
+
429
+ # - - - - main rule block - - - -
430
+ # at line 20:9: '\"'
431
+ match( 0x22 )
432
+
433
+
434
+ @state.type = type
435
+ @state.channel = channel
436
+
437
+ ensure
438
+ # -> uncomment the next line to manually enable rule tracing
439
+ # trace_out( __method__, 14 )
440
+
441
+ end
442
+
443
+ # lexer rule attribute! (ATTRIBUTE)
444
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
445
+ def attribute!
446
+ # -> uncomment the next line to manually enable rule tracing
447
+ # trace_in( __method__, 15 )
448
+
449
+ type = ATTRIBUTE
450
+ channel = ANTLR3::DEFAULT_CHANNEL
451
+
452
+
453
+ # - - - - main rule block - - - -
454
+ # at line 59:12: ( HC | LC ) ( HC | LC | DIGIT | '_' )*
455
+ if @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek( 1 ).between?( 0x61, 0x7a )
456
+ @input.consume
457
+ else
458
+ mse = MismatchedSet( nil )
459
+ recover mse
460
+ raise mse
461
+ end
462
+
463
+
464
+ # at line 59:19: ( HC | LC | DIGIT | '_' )*
465
+ while true # decision 1
466
+ alt_1 = 2
467
+ look_1_0 = @input.peek( 1 )
468
+
469
+ if ( look_1_0.between?( 0x30, 0x39 ) || look_1_0.between?( 0x41, 0x5a ) || look_1_0 == 0x5f || look_1_0.between?( 0x61, 0x7a ) )
470
+ alt_1 = 1
471
+
472
+ end
473
+ case alt_1
474
+ when 1
475
+ # at line
476
+ if @input.peek( 1 ).between?( 0x30, 0x39 ) || @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek(1) == 0x5f || @input.peek( 1 ).between?( 0x61, 0x7a )
477
+ @input.consume
478
+ else
479
+ mse = MismatchedSet( nil )
480
+ recover mse
481
+ raise mse
482
+ end
483
+
484
+
485
+
486
+ else
487
+ break # out of loop for decision 1
488
+ end
489
+ end # loop for decision 1
490
+
491
+
492
+ @state.type = type
493
+ @state.channel = channel
494
+
495
+ ensure
496
+ # -> uncomment the next line to manually enable rule tracing
497
+ # trace_out( __method__, 15 )
498
+
499
+ end
500
+
501
+ # lexer rule whitespace! (WHITESPACE)
502
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
503
+ def whitespace!
504
+ # -> uncomment the next line to manually enable rule tracing
505
+ # trace_in( __method__, 16 )
506
+
507
+ type = WHITESPACE
508
+ channel = ANTLR3::DEFAULT_CHANNEL
509
+
510
+
511
+ # - - - - main rule block - - - -
512
+ # at line 63:13: ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+
513
+ # at file 63:13: ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+
514
+ match_count_2 = 0
515
+ while true
516
+ alt_2 = 2
517
+ look_2_0 = @input.peek( 1 )
518
+
519
+ if ( look_2_0.between?( 0x9, 0xa ) || look_2_0.between?( 0xc, 0xd ) || look_2_0 == 0x20 )
520
+ alt_2 = 1
521
+
522
+ end
523
+ case alt_2
524
+ when 1
525
+ # at line
526
+ if @input.peek( 1 ).between?( 0x9, 0xa ) || @input.peek( 1 ).between?( 0xc, 0xd ) || @input.peek(1) == 0x20
527
+ @input.consume
528
+ else
529
+ mse = MismatchedSet( nil )
530
+ recover mse
531
+ raise mse
532
+ end
533
+
534
+
535
+
536
+ else
537
+ match_count_2 > 0 and break
538
+ eee = EarlyExit(2)
539
+
540
+
541
+ raise eee
542
+ end
543
+ match_count_2 += 1
544
+ end
545
+
546
+ # --> action
547
+ channel = HIDDEN;
548
+ # <-- action
549
+
550
+
551
+ @state.type = type
552
+ @state.channel = channel
553
+
554
+ ensure
555
+ # -> uncomment the next line to manually enable rule tracing
556
+ # trace_out( __method__, 16 )
557
+
558
+ end
559
+
560
+ # lexer rule comment! (COMMENT)
561
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
562
+ def comment!
563
+ # -> uncomment the next line to manually enable rule tracing
564
+ # trace_in( __method__, 17 )
565
+
566
+ type = COMMENT
567
+ channel = ANTLR3::DEFAULT_CHANNEL
568
+
569
+
570
+ # - - - - main rule block - - - -
571
+ # at line 64:10: '#' (~ ( '\\n' | '\\r' ) )*
572
+ match( 0x23 )
573
+ # at line 64:14: (~ ( '\\n' | '\\r' ) )*
574
+ while true # decision 3
575
+ alt_3 = 2
576
+ look_3_0 = @input.peek( 1 )
577
+
578
+ if ( look_3_0.between?( 0x0, 0x9 ) || look_3_0.between?( 0xb, 0xc ) || look_3_0.between?( 0xe, 0xffff ) )
579
+ alt_3 = 1
580
+
581
+ end
582
+ case alt_3
583
+ when 1
584
+ # at line 64:14: ~ ( '\\n' | '\\r' )
585
+ if @input.peek( 1 ).between?( 0x0, 0x9 ) || @input.peek( 1 ).between?( 0xb, 0xc ) || @input.peek( 1 ).between?( 0xe, 0xff )
586
+ @input.consume
587
+ else
588
+ mse = MismatchedSet( nil )
589
+ recover mse
590
+ raise mse
591
+ end
592
+
593
+
594
+
595
+ else
596
+ break # out of loop for decision 3
597
+ end
598
+ end # loop for decision 3
599
+
600
+
601
+ @state.type = type
602
+ @state.channel = channel
603
+
604
+ ensure
605
+ # -> uncomment the next line to manually enable rule tracing
606
+ # trace_out( __method__, 17 )
607
+
608
+ end
609
+
610
+ # lexer rule actualstring! (ACTUALSTRING)
611
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
612
+ def actualstring!
613
+ # -> uncomment the next line to manually enable rule tracing
614
+ # trace_in( __method__, 18 )
615
+
616
+
617
+ # - - - - main rule block - - - -
618
+ # at line 65:24: (~ ( '\\\\' | '\\'' ) )*
619
+ # at line 65:24: (~ ( '\\\\' | '\\'' ) )*
620
+ while true # decision 4
621
+ alt_4 = 2
622
+ look_4_0 = @input.peek( 1 )
623
+
624
+ if ( look_4_0.between?( 0x0, 0x26 ) || look_4_0.between?( 0x28, 0x5b ) || look_4_0.between?( 0x5d, 0xffff ) )
625
+ alt_4 = 1
626
+
627
+ end
628
+ case alt_4
629
+ when 1
630
+ # at line 65:24: ~ ( '\\\\' | '\\'' )
631
+ if @input.peek( 1 ).between?( 0x0, 0x26 ) || @input.peek( 1 ).between?( 0x28, 0x5b ) || @input.peek( 1 ).between?( 0x5d, 0xff )
632
+ @input.consume
633
+ else
634
+ mse = MismatchedSet( nil )
635
+ recover mse
636
+ raise mse
637
+ end
638
+
639
+
640
+
641
+ else
642
+ break # out of loop for decision 4
643
+ end
644
+ end # loop for decision 4
645
+
646
+ ensure
647
+ # -> uncomment the next line to manually enable rule tracing
648
+ # trace_out( __method__, 18 )
649
+
650
+ end
651
+
652
+ # lexer rule digit! (DIGIT)
653
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
654
+ def digit!
655
+ # -> uncomment the next line to manually enable rule tracing
656
+ # trace_in( __method__, 19 )
657
+
658
+
659
+ # - - - - main rule block - - - -
660
+ # at line 66:17: '0' .. '9'
661
+ match_range( 0x30, 0x39 )
662
+
663
+ ensure
664
+ # -> uncomment the next line to manually enable rule tracing
665
+ # trace_out( __method__, 19 )
666
+
667
+ end
668
+
669
+ # lexer rule hc! (HC)
670
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
671
+ def hc!
672
+ # -> uncomment the next line to manually enable rule tracing
673
+ # trace_in( __method__, 20 )
674
+
675
+
676
+ # - - - - main rule block - - - -
677
+ # at line 67:14: 'A' .. 'Z'
678
+ match_range( 0x41, 0x5a )
679
+
680
+ ensure
681
+ # -> uncomment the next line to manually enable rule tracing
682
+ # trace_out( __method__, 20 )
683
+
684
+ end
685
+
686
+ # lexer rule lc! (LC)
687
+ # (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
688
+ def lc!
689
+ # -> uncomment the next line to manually enable rule tracing
690
+ # trace_in( __method__, 21 )
691
+
692
+
693
+ # - - - - main rule block - - - -
694
+ # at line 68:14: 'a' .. 'z'
695
+ match_range( 0x61, 0x7a )
696
+
697
+ ensure
698
+ # -> uncomment the next line to manually enable rule tracing
699
+ # trace_out( __method__, 21 )
700
+
701
+ end
702
+
703
+ # main rule used to study the input at the current position,
704
+ # and choose the proper lexer rule to call in order to
705
+ # fetch the next token
706
+ #
707
+ # usually, you don't make direct calls to this method,
708
+ # but instead use the next_token method, which will
709
+ # build and emit the actual next token
710
+ def token!
711
+ # at line 1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | ATTRIBUTE | WHITESPACE | COMMENT )
712
+ alt_5 = 17
713
+ alt_5 = @dfa5.predict( @input )
714
+ case alt_5
715
+ when 1
716
+ # at line 1:10: T__11
717
+ t__11!
718
+
719
+ when 2
720
+ # at line 1:16: T__12
721
+ t__12!
722
+
723
+ when 3
724
+ # at line 1:22: T__13
725
+ t__13!
726
+
727
+ when 4
728
+ # at line 1:28: T__14
729
+ t__14!
730
+
731
+ when 5
732
+ # at line 1:34: T__15
733
+ t__15!
734
+
735
+ when 6
736
+ # at line 1:40: T__16
737
+ t__16!
738
+
739
+ when 7
740
+ # at line 1:46: T__17
741
+ t__17!
742
+
743
+ when 8
744
+ # at line 1:52: T__18
745
+ t__18!
746
+
747
+ when 9
748
+ # at line 1:58: T__19
749
+ t__19!
750
+
751
+ when 10
752
+ # at line 1:64: T__20
753
+ t__20!
754
+
755
+ when 11
756
+ # at line 1:70: T__21
757
+ t__21!
758
+
759
+ when 12
760
+ # at line 1:76: T__22
761
+ t__22!
762
+
763
+ when 13
764
+ # at line 1:82: T__23
765
+ t__23!
766
+
767
+ when 14
768
+ # at line 1:88: T__24
769
+ t__24!
770
+
771
+ when 15
772
+ # at line 1:94: ATTRIBUTE
773
+ attribute!
774
+
775
+ when 16
776
+ # at line 1:104: WHITESPACE
777
+ whitespace!
778
+
779
+ when 17
780
+ # at line 1:115: COMMENT
781
+ comment!
782
+
783
+ end
784
+ end
785
+
786
+
787
+ # - - - - - - - - - - DFA definitions - - - - - - - - - - -
788
+ class DFA5 < ANTLR3::DFA
789
+ EOT = unpack( 1, -1, 1, 15, 2, -1, 2, 15, 1, -1, 1, 15, 2, -1, 1,
790
+ 15, 7, -1, 13, 15, 1, 36, 4, 15, 1, -1, 1, 41, 3, 15,
791
+ 1, -1, 5, 15, 1, 50, 1, 51, 1, 15, 2, -1, 1, 53, 1,
792
+ -1 )
793
+ EOF = unpack( 54, -1 )
794
+ MIN = unpack( 1, 9, 1, 97, 2, -1, 1, 110, 1, 114, 1, -1, 1, 114, 2,
795
+ -1, 1, 99, 7, -1, 1, 108, 1, 105, 1, 101, 1, 117, 1,
796
+ 111, 1, 105, 1, 113, 1, 115, 1, 101, 1, 112, 1, 100,
797
+ 1, 117, 1, 101, 1, 48, 1, 101, 1, 97, 1, 101, 1, 110,
798
+ 1, -1, 1, 48, 1, 116, 1, 110, 1, 99, 1, -1, 3, 101,
799
+ 2, 115, 2, 48, 1, 115, 2, -1, 1, 48, 1, -1 )
800
+ MAX = unpack( 1, 125, 1, 97, 2, -1, 1, 110, 1, 114, 1, -1, 1, 114,
801
+ 2, -1, 1, 99, 7, -1, 1, 108, 1, 105, 1, 101, 1, 117,
802
+ 1, 111, 1, 105, 1, 113, 1, 115, 1, 101, 1, 112, 1, 100,
803
+ 1, 117, 1, 101, 1, 122, 1, 101, 1, 97, 1, 101, 1, 110,
804
+ 1, -1, 1, 122, 1, 116, 1, 110, 1, 99, 1, -1, 3, 101,
805
+ 2, 115, 2, 122, 1, 115, 2, -1, 1, 122, 1, -1 )
806
+ ACCEPT = unpack( 2, -1, 1, 2, 1, 3, 2, -1, 1, 6, 1, -1, 1, 8, 1, 9,
807
+ 1, -1, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1, 16,
808
+ 1, 17, 18, -1, 1, 7, 4, -1, 1, 10, 8, -1, 1, 5, 1,
809
+ 1, 1, -1, 1, 4 )
810
+ SPECIAL = unpack( 54, -1 )
811
+ TRANSITION = [
812
+ unpack( 2, 16, 1, -1, 2, 16, 18, -1, 1, 16, 1, -1, 1, 14, 1, 17,
813
+ 3, -1, 1, 13, 4, -1, 1, 2, 13, -1, 1, 3, 2, -1, 1, 6, 3,
814
+ -1, 26, 15, 1, 11, 1, -1, 1, 12, 3, -1, 15, 15, 1, 5, 2,
815
+ 15, 1, 10, 1, 7, 1, 4, 1, 1, 4, 15, 1, 8, 1, -1, 1, 9 ),
816
+ unpack( 1, 18 ),
817
+ unpack( ),
818
+ unpack( ),
819
+ unpack( 1, 19 ),
820
+ unpack( 1, 20 ),
821
+ unpack( ),
822
+ unpack( 1, 21 ),
823
+ unpack( ),
824
+ unpack( ),
825
+ unpack( 1, 22 ),
826
+ unpack( ),
827
+ unpack( ),
828
+ unpack( ),
829
+ unpack( ),
830
+ unpack( ),
831
+ unpack( ),
832
+ unpack( ),
833
+ unpack( 1, 23 ),
834
+ unpack( 1, 24 ),
835
+ unpack( 1, 25 ),
836
+ unpack( 1, 26 ),
837
+ unpack( 1, 27 ),
838
+ unpack( 1, 28 ),
839
+ unpack( 1, 29 ),
840
+ unpack( 1, 30 ),
841
+ unpack( 1, 31 ),
842
+ unpack( 1, 32 ),
843
+ unpack( 1, 33 ),
844
+ unpack( 1, 34 ),
845
+ unpack( 1, 35 ),
846
+ unpack( 10, 15, 7, -1, 26, 15, 4, -1, 1, 15, 1, -1, 26, 15 ),
847
+ unpack( 1, 37 ),
848
+ unpack( 1, 38 ),
849
+ unpack( 1, 39 ),
850
+ unpack( 1, 40 ),
851
+ unpack( ),
852
+ unpack( 10, 15, 7, -1, 26, 15, 4, -1, 1, 15, 1, -1, 26, 15 ),
853
+ unpack( 1, 42 ),
854
+ unpack( 1, 43 ),
855
+ unpack( 1, 44 ),
856
+ unpack( ),
857
+ unpack( 1, 45 ),
858
+ unpack( 1, 46 ),
859
+ unpack( 1, 47 ),
860
+ unpack( 1, 48 ),
861
+ unpack( 1, 49 ),
862
+ unpack( 10, 15, 7, -1, 26, 15, 4, -1, 1, 15, 1, -1, 26, 15 ),
863
+ unpack( 10, 15, 7, -1, 26, 15, 4, -1, 1, 15, 1, -1, 26, 15 ),
864
+ unpack( 1, 52 ),
865
+ unpack( ),
866
+ unpack( ),
867
+ unpack( 10, 15, 7, -1, 26, 15, 4, -1, 1, 15, 1, -1, 26, 15 ),
868
+ unpack( )
869
+ ].freeze
870
+
871
+ ( 0 ... MIN.length ).zip( MIN, MAX ) do | i, a, z |
872
+ if a > 0 and z < 0
873
+ MAX[ i ] %= 0x10000
874
+ end
875
+ end
876
+
877
+ @decision = 5
878
+
879
+
880
+ def description
881
+ <<-'__dfa_description__'.strip!
882
+ 1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | ATTRIBUTE | WHITESPACE | COMMENT );
883
+ __dfa_description__
884
+ end
885
+ end
886
+
887
+
888
+ private
889
+
890
+ def initialize_dfas
891
+ super rescue nil
892
+ @dfa5 = DFA5.new( self, 5 )
893
+
894
+ end
895
+ end # class Lexer < ANTLR3::Lexer
896
+
897
+ at_exit { Lexer.main( ARGV ) } if __FILE__ == $0
898
+ end
899
+