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