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.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/TODO +26 -0
- data/lib/generators/USAGE +8 -0
- data/lib/generators/tripper.rb +51 -0
- data/lib/generators/tripper/commonalities/commonalities.rb +226 -0
- data/lib/generators/tripper/detect_changes/detect_changes_generator.rb +173 -0
- data/lib/generators/tripper/detect_changes/model.rb +226 -0
- data/lib/generators/tripper/detect_changes/templates/migration.rb +7 -0
- data/lib/generators/tripper/detect_changes/templates/model/belongs_to.rb +1 -0
- data/lib/generators/tripper/detect_changes/templates/model/has_one.rb +1 -0
- data/lib/generators/tripper/detect_changes/templates/model/validates.rb +2 -0
- data/lib/generators/tripper/from_community/from_community_generator.rb +95 -0
- data/lib/generators/tripper/from_community/templates/actions/create.rb +8 -0
- data/lib/generators/tripper/from_community/templates/actions/destroy.rb +5 -0
- data/lib/generators/tripper/from_community/templates/actions/edit.rb +3 -0
- data/lib/generators/tripper/from_community/templates/actions/index.rb +3 -0
- data/lib/generators/tripper/from_community/templates/actions/new.rb +3 -0
- data/lib/generators/tripper/from_community/templates/actions/show.rb +3 -0
- data/lib/generators/tripper/from_community/templates/actions/update.rb +8 -0
- data/lib/generators/tripper/from_community/templates/controller.rb +3 -0
- data/lib/generators/tripper/from_community/templates/fixtures.yml +9 -0
- data/lib/generators/tripper/from_community/templates/helper.rb +2 -0
- data/lib/generators/tripper/from_community/templates/migration.rb +30 -0
- data/lib/generators/tripper/from_community/templates/model.rb +54 -0
- data/lib/generators/tripper/from_community/templates/tests/rspec/actions/create.rb +11 -0
- data/lib/generators/tripper/from_community/templates/tests/rspec/actions/destroy.rb +6 -0
- data/lib/generators/tripper/from_community/templates/tests/rspec/actions/edit.rb +4 -0
- data/lib/generators/tripper/from_community/templates/tests/rspec/actions/index.rb +4 -0
- data/lib/generators/tripper/from_community/templates/tests/rspec/actions/new.rb +4 -0
- data/lib/generators/tripper/from_community/templates/tests/rspec/actions/show.rb +4 -0
- data/lib/generators/tripper/from_community/templates/tests/rspec/actions/update.rb +11 -0
- data/lib/generators/tripper/from_community/templates/tests/rspec/controller.rb +8 -0
- data/lib/generators/tripper/from_community/templates/tests/rspec/model.rb +7 -0
- data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/create.rb +13 -0
- data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/destroy.rb +8 -0
- data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/edit.rb +6 -0
- data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/index.rb +6 -0
- data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/new.rb +6 -0
- data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/show.rb +6 -0
- data/lib/generators/tripper/from_community/templates/tests/shoulda/actions/update.rb +13 -0
- data/lib/generators/tripper/from_community/templates/tests/shoulda/controller.rb +5 -0
- data/lib/generators/tripper/from_community/templates/tests/shoulda/model.rb +7 -0
- data/lib/generators/tripper/from_community/templates/tests/testunit/actions/create.rb +11 -0
- data/lib/generators/tripper/from_community/templates/tests/testunit/actions/destroy.rb +6 -0
- data/lib/generators/tripper/from_community/templates/tests/testunit/actions/edit.rb +4 -0
- data/lib/generators/tripper/from_community/templates/tests/testunit/actions/index.rb +4 -0
- data/lib/generators/tripper/from_community/templates/tests/testunit/actions/new.rb +4 -0
- data/lib/generators/tripper/from_community/templates/tests/testunit/actions/show.rb +4 -0
- data/lib/generators/tripper/from_community/templates/tests/testunit/actions/update.rb +11 -0
- data/lib/generators/tripper/from_community/templates/tests/testunit/controller.rb +5 -0
- data/lib/generators/tripper/from_community/templates/tests/testunit/model.rb +7 -0
- data/lib/generators/tripper/from_community/templates/views/erb/_form.html.erb +16 -0
- data/lib/generators/tripper/from_community/templates/views/erb/edit.html.erb +14 -0
- data/lib/generators/tripper/from_community/templates/views/erb/index.html.erb +29 -0
- data/lib/generators/tripper/from_community/templates/views/erb/new.html.erb +7 -0
- data/lib/generators/tripper/from_community/templates/views/erb/show.html.erb +25 -0
- data/lib/generators/tripper/from_community/templates/views/haml/_form.html.haml +9 -0
- data/lib/generators/tripper/from_community/templates/views/haml/edit.html.haml +14 -0
- data/lib/generators/tripper/from_community/templates/views/haml/index.html.haml +25 -0
- data/lib/generators/tripper/from_community/templates/views/haml/new.html.haml +7 -0
- data/lib/generators/tripper/from_community/templates/views/haml/show.html.haml +20 -0
- data/lib/generators/tripper/layout/USAGE +18 -0
- data/lib/generators/tripper/layout/layout_generator.rb +29 -0
- data/lib/generators/tripper/layout/templates/error_messages_helper.rb +23 -0
- data/lib/generators/tripper/layout/templates/layout.html.erb +19 -0
- data/lib/generators/tripper/layout/templates/layout.html.haml +21 -0
- data/lib/generators/tripper/layout/templates/layout_helper.rb +22 -0
- data/lib/generators/tripper/layout/templates/stylesheet.css +83 -0
- data/lib/generators/tripper/layout/templates/stylesheet.sass +73 -0
- data/lib/generators/tripper/obj_constraint.rb +23 -0
- data/lib/generators/tripper/predicate.rb +12 -0
- data/lib/generators/tripper/sync_with_community/model.rb +260 -0
- data/lib/generators/tripper/sync_with_community/sync_with_community_generator.rb +310 -0
- data/lib/generators/tripper/sync_with_community/templates/migration.rb +7 -0
- data/lib/generators/tripper/sync_with_community/templates/model/belongs_to.rb +1 -0
- data/lib/generators/tripper/sync_with_community/templates/model/has_one.rb +1 -0
- data/lib/generators/tripper/sync_with_community/templates/model/validates.rb +2 -0
- data/lib/generators/tripper/templates/actions/create.rb +8 -0
- data/lib/generators/tripper/templates/actions/destroy.rb +5 -0
- data/lib/generators/tripper/templates/actions/edit.rb +3 -0
- data/lib/generators/tripper/templates/actions/index.rb +3 -0
- data/lib/generators/tripper/templates/actions/new.rb +3 -0
- data/lib/generators/tripper/templates/actions/show.rb +3 -0
- data/lib/generators/tripper/templates/actions/update.rb +8 -0
- data/lib/generators/tripper/templates/controller.rb +3 -0
- data/lib/generators/tripper/templates/fixtures.yml +9 -0
- data/lib/generators/tripper/templates/helper.rb +2 -0
- data/lib/generators/tripper/templates/migration.rb +30 -0
- data/lib/generators/tripper/templates/model.rb +54 -0
- data/lib/generators/tripper/templates/tests/rspec/actions/create.rb +11 -0
- data/lib/generators/tripper/templates/tests/rspec/actions/destroy.rb +6 -0
- data/lib/generators/tripper/templates/tests/rspec/actions/edit.rb +4 -0
- data/lib/generators/tripper/templates/tests/rspec/actions/index.rb +4 -0
- data/lib/generators/tripper/templates/tests/rspec/actions/new.rb +4 -0
- data/lib/generators/tripper/templates/tests/rspec/actions/show.rb +4 -0
- data/lib/generators/tripper/templates/tests/rspec/actions/update.rb +11 -0
- data/lib/generators/tripper/templates/tests/rspec/controller.rb +8 -0
- data/lib/generators/tripper/templates/tests/rspec/model.rb +7 -0
- data/lib/generators/tripper/templates/tests/shoulda/actions/create.rb +13 -0
- data/lib/generators/tripper/templates/tests/shoulda/actions/destroy.rb +8 -0
- data/lib/generators/tripper/templates/tests/shoulda/actions/edit.rb +6 -0
- data/lib/generators/tripper/templates/tests/shoulda/actions/index.rb +6 -0
- data/lib/generators/tripper/templates/tests/shoulda/actions/new.rb +6 -0
- data/lib/generators/tripper/templates/tests/shoulda/actions/show.rb +6 -0
- data/lib/generators/tripper/templates/tests/shoulda/actions/update.rb +13 -0
- data/lib/generators/tripper/templates/tests/shoulda/controller.rb +5 -0
- data/lib/generators/tripper/templates/tests/shoulda/model.rb +7 -0
- data/lib/generators/tripper/templates/tests/testunit/actions/create.rb +11 -0
- data/lib/generators/tripper/templates/tests/testunit/actions/destroy.rb +6 -0
- data/lib/generators/tripper/templates/tests/testunit/actions/edit.rb +4 -0
- data/lib/generators/tripper/templates/tests/testunit/actions/index.rb +4 -0
- data/lib/generators/tripper/templates/tests/testunit/actions/new.rb +4 -0
- data/lib/generators/tripper/templates/tests/testunit/actions/show.rb +4 -0
- data/lib/generators/tripper/templates/tests/testunit/actions/update.rb +11 -0
- data/lib/generators/tripper/templates/tests/testunit/controller.rb +5 -0
- data/lib/generators/tripper/templates/tests/testunit/model.rb +7 -0
- data/lib/generators/tripper/templates/views/erb/_form.html.erb +16 -0
- data/lib/generators/tripper/templates/views/erb/edit.html.erb +14 -0
- data/lib/generators/tripper/templates/views/erb/index.html.erb +29 -0
- data/lib/generators/tripper/templates/views/erb/new.html.erb +7 -0
- data/lib/generators/tripper/templates/views/erb/show.html.erb +25 -0
- data/lib/generators/tripper/templates/views/haml/_form.html.haml +9 -0
- data/lib/generators/tripper/templates/views/haml/edit.html.haml +14 -0
- data/lib/generators/tripper/templates/views/haml/index.html.haml +25 -0
- data/lib/generators/tripper/templates/views/haml/new.html.haml +7 -0
- data/lib/generators/tripper/templates/views/haml/show.html.haml +20 -0
- data/lib/tripper.rb +1 -0
- data/lib/tripper/GOSPLDB/config/database.yml +6 -0
- data/lib/tripper/GOSPLDB/config_db.rb +9 -0
- data/lib/tripper/GOSPLDB/console +2 -0
- data/lib/tripper/GOSPLDB/gospl_db_classes.rb +343 -0
- data/lib/tripper/GOSPLDB/play_around.rb +4 -0
- data/lib/tripper/GOSPLDB/rakefile.rb +88 -0
- data/lib/tripper/GOSPLDBToORMDB/gospl_db_to_orm_db.rb +88 -0
- data/lib/tripper/ORMDB/config/database.yml +6 -0
- data/lib/tripper/ORMDB/config_db.rb +9 -0
- data/lib/tripper/ORMDB/console +2 -0
- data/lib/tripper/ORMDB/db/migrations/0_create_orm_object_table.rb +17 -0
- data/lib/tripper/ORMDB/db/migrations/10_create_no_lot_constraint_table.rb +17 -0
- data/lib/tripper/ORMDB/db/migrations/11_create_value_constraint_table.rb +14 -0
- data/lib/tripper/ORMDB/db/migrations/12_create_value_constraint_value_table.rb +16 -0
- data/lib/tripper/ORMDB/db/migrations/13_create_value_range_table.rb +15 -0
- data/lib/tripper/ORMDB/db/migrations/14_create_frequency_constraint_table.rb +16 -0
- data/lib/tripper/ORMDB/db/migrations/15_create_value_table.rb +15 -0
- data/lib/tripper/ORMDB/db/migrations/16_create_ring_constraint_table.rb +14 -0
- data/lib/tripper/ORMDB/db/migrations/17_create_orm_schema_table.rb +21 -0
- data/lib/tripper/ORMDB/db/migrations/18_create_uniqueness_constraint_table.rb +15 -0
- data/lib/tripper/ORMDB/db/migrations/1_create_no_lot_table.rb +18 -0
- data/lib/tripper/ORMDB/db/migrations/2_create_lot_table.rb +18 -0
- data/lib/tripper/ORMDB/db/migrations/3_create_object_role_table.rb +18 -0
- data/lib/tripper/ORMDB/db/migrations/4_create_reference_table.rb +17 -0
- data/lib/tripper/ORMDB/db/migrations/5_create_predicate_table.rb +18 -0
- data/lib/tripper/ORMDB/db/migrations/6_create_object_role_constraint_table.rb +18 -0
- data/lib/tripper/ORMDB/db/migrations/7_create_subtype_table.rb +17 -0
- data/lib/tripper/ORMDB/db/migrations/8_create_mandatory_constraint_table.rb +15 -0
- data/lib/tripper/ORMDB/db/migrations/9_create_constraint_table.rb +15 -0
- data/lib/tripper/ORMDB/db/orm_ml.sqlite3 +0 -0
- data/lib/tripper/ORMDB/db/orm_ml.sqlite3.backup +0 -0
- data/lib/tripper/ORMDB/db/orm_ml.sqlite3.juli28-2013 +0 -0
- data/lib/tripper/ORMDB/db/orm_ml.sqlite3.old +0 -0
- data/lib/tripper/ORMDB/db/schema.rb +58 -0
- data/lib/tripper/ORMDB/erd.pdf +0 -0
- data/lib/tripper/ORMDB/migrate_db.rb +21 -0
- data/lib/tripper/ORMDB/orm_db_classes.rb +423 -0
- data/lib/tripper/ORMDB/populate.rb +4 -0
- data/lib/tripper/ORMDB/rakefile.rb +88 -0
- data/lib/tripper/model_parsers/attribute_parser/AttributeParser.g +50 -0
- data/lib/tripper/model_parsers/attribute_parser/AttributeParser.tokens +13 -0
- data/lib/tripper/model_parsers/attribute_parser/AttributeParserLexer.rb +538 -0
- data/lib/tripper/model_parsers/attribute_parser/AttributeParserParser.rb +412 -0
- data/lib/tripper/model_parsers/attribute_parser/playing_around.rb +14 -0
- data/lib/tripper/model_parsers/belongs_to/BelongsToParser.g +63 -0
- data/lib/tripper/model_parsers/belongs_to/BelongsToParser.tokens +21 -0
- data/lib/tripper/model_parsers/belongs_to/BelongsToParserLexer.rb +667 -0
- data/lib/tripper/model_parsers/belongs_to/BelongsToParserParser.rb +552 -0
- data/lib/tripper/model_parsers/belongs_to/playing_around.rb +9 -0
- data/lib/tripper/model_parsers/database_fields_parser/DatabaseFieldsParser.g +47 -0
- data/lib/tripper/model_parsers/database_fields_parser/DatabaseFieldsParser.tokens +14 -0
- data/lib/tripper/model_parsers/database_fields_parser/DatabaseFieldsParserLexer.rb +513 -0
- data/lib/tripper/model_parsers/database_fields_parser/DatabaseFieldsParserParser.rb +279 -0
- data/lib/tripper/model_parsers/database_fields_parser/playing_around.rb +14 -0
- data/lib/tripper/model_parsers/has_and_belongs_to_many/HasAndBelongsToManyParser.g +92 -0
- data/lib/tripper/model_parsers/has_and_belongs_to_many/HasAndBelongsToManyParser.tokens +25 -0
- data/lib/tripper/model_parsers/has_and_belongs_to_many/HasAndBelongsToManyParserLexer.rb +787 -0
- data/lib/tripper/model_parsers/has_and_belongs_to_many/HasAndBelongsToManyParserParser.rb +1024 -0
- data/lib/tripper/model_parsers/has_and_belongs_to_many/playing_around.rb +9 -0
- data/lib/tripper/model_parsers/has_many/HasManyParser.g +77 -0
- data/lib/tripper/model_parsers/has_many/HasManyParser.tokens +23 -0
- data/lib/tripper/model_parsers/has_many/HasManyParserLexer.rb +710 -0
- data/lib/tripper/model_parsers/has_many/HasManyParserParser.rb +788 -0
- data/lib/tripper/model_parsers/has_many/playing_around.rb +9 -0
- data/lib/tripper/model_parsers/has_one/HasOneParser.g +63 -0
- data/lib/tripper/model_parsers/has_one/HasOneParser.tokens +21 -0
- data/lib/tripper/model_parsers/has_one/HasOneParserLexer.rb +664 -0
- data/lib/tripper/model_parsers/has_one/HasOneParserParser.rb +552 -0
- data/lib/tripper/model_parsers/has_one/playing_around.rb +9 -0
- data/lib/tripper/model_parsers/validates/ValidatesParser.g +68 -0
- data/lib/tripper/model_parsers/validates/ValidatesParser.tokens +35 -0
- data/lib/tripper/model_parsers/validates/ValidatesParserLexer.rb +899 -0
- data/lib/tripper/model_parsers/validates/ValidatesParserParser.rb +869 -0
- data/lib/tripper/model_parsers/validates/playing_around.rb +9 -0
- data/lib/tripper/rails.rb +8 -0
- data/lib/tripper/version.rb +3 -0
- data/tripper.gemspec +33 -0
- metadata +408 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
#
|
|
3
|
+
# DatabaseFieldsParser.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: DatabaseFieldsParser.g
|
|
8
|
+
# Generated at: 2013-05-15 13:56:44
|
|
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
|
+
# DatabaseFieldsParser.g
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def strip_quotes str
|
|
64
|
+
return str[1,(str.length)-2]
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# - - - - - - end action @parser::header - - - - - - -
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
module DatabaseFieldsParser
|
|
71
|
+
# TokenData defines all of the token type integer values
|
|
72
|
+
# as constants, which will be included in all
|
|
73
|
+
# ANTLR-generated recognizers.
|
|
74
|
+
const_defined?( :TokenData ) or TokenData = ANTLR3::TokenScheme.new
|
|
75
|
+
|
|
76
|
+
module TokenData
|
|
77
|
+
|
|
78
|
+
# define the token constants
|
|
79
|
+
define_tokens( :ACTUALSTRING => 9, :HC => 5, :T__12 => 12, :T__11 => 11,
|
|
80
|
+
:T__13 => 13, :T__10 => 10, :ATTRIBUTE => 4, :WHITESPACE => 8,
|
|
81
|
+
:LC => 6, :DIGIT => 7, :EOF => -1 )
|
|
82
|
+
|
|
83
|
+
# register the proper human-readable name or literal value
|
|
84
|
+
# for each token type
|
|
85
|
+
#
|
|
86
|
+
# this is necessary because anonymous tokens, which are
|
|
87
|
+
# created from literal values in the grammar, do not
|
|
88
|
+
# have descriptive names
|
|
89
|
+
register_names( "ATTRIBUTE", "HC", "LC", "DIGIT", "WHITESPACE", "ACTUALSTRING",
|
|
90
|
+
"'#'", "'database_fields'", "':'", "','" )
|
|
91
|
+
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class Parser < ANTLR3::Parser
|
|
96
|
+
@grammar_home = DatabaseFieldsParser
|
|
97
|
+
|
|
98
|
+
RULE_METHODS = [ :database_fields, :attributes, :attribute ].freeze
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
include TokenData
|
|
102
|
+
|
|
103
|
+
begin
|
|
104
|
+
generated_using( "DatabaseFieldsParser.g", "3.2.1-SNAPSHOT Jul 31, 2010 19:34:52", "1.8.11" )
|
|
105
|
+
rescue NoMethodError => error
|
|
106
|
+
# ignore
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def initialize( input, options = {} )
|
|
110
|
+
super( input, options )
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
attr_accessor :attributes
|
|
116
|
+
|
|
117
|
+
# - - - - - - - - - - - - Rules - - - - - - - - - - - - -
|
|
118
|
+
|
|
119
|
+
#
|
|
120
|
+
# parser rule database_fields
|
|
121
|
+
#
|
|
122
|
+
# (in DatabaseFieldsParser.g)
|
|
123
|
+
# 15:1: database_fields returns [expr] : ( '#' 'database_fields' ':' ( attributes )* ( attribute )? ) ;
|
|
124
|
+
#
|
|
125
|
+
def database_fields
|
|
126
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
127
|
+
# trace_in( __method__, 1 )
|
|
128
|
+
expr = nil
|
|
129
|
+
|
|
130
|
+
begin
|
|
131
|
+
# at line 15:33: ( '#' 'database_fields' ':' ( attributes )* ( attribute )? )
|
|
132
|
+
# at line 15:33: ( '#' 'database_fields' ':' ( attributes )* ( attribute )? )
|
|
133
|
+
# at line 15:34: '#' 'database_fields' ':' ( attributes )* ( attribute )?
|
|
134
|
+
match( T__10, TOKENS_FOLLOWING_T__10_IN_database_fields_39 )
|
|
135
|
+
match( T__11, TOKENS_FOLLOWING_T__11_IN_database_fields_41 )
|
|
136
|
+
match( T__12, TOKENS_FOLLOWING_T__12_IN_database_fields_43 )
|
|
137
|
+
# at line 15:60: ( attributes )*
|
|
138
|
+
while true # decision 1
|
|
139
|
+
alt_1 = 2
|
|
140
|
+
look_1_0 = @input.peek( 1 )
|
|
141
|
+
|
|
142
|
+
if ( look_1_0 == ATTRIBUTE )
|
|
143
|
+
look_1_1 = @input.peek( 2 )
|
|
144
|
+
|
|
145
|
+
if ( look_1_1 == T__13 )
|
|
146
|
+
alt_1 = 1
|
|
147
|
+
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
end
|
|
151
|
+
case alt_1
|
|
152
|
+
when 1
|
|
153
|
+
# at line 15:60: attributes
|
|
154
|
+
@state.following.push( TOKENS_FOLLOWING_attributes_IN_database_fields_45 )
|
|
155
|
+
attributes
|
|
156
|
+
@state.following.pop
|
|
157
|
+
|
|
158
|
+
else
|
|
159
|
+
break # out of loop for decision 1
|
|
160
|
+
end
|
|
161
|
+
end # loop for decision 1
|
|
162
|
+
# at line 15:72: ( attribute )?
|
|
163
|
+
alt_2 = 2
|
|
164
|
+
look_2_0 = @input.peek( 1 )
|
|
165
|
+
|
|
166
|
+
if ( look_2_0 == ATTRIBUTE )
|
|
167
|
+
alt_2 = 1
|
|
168
|
+
end
|
|
169
|
+
case alt_2
|
|
170
|
+
when 1
|
|
171
|
+
# at line 15:72: attribute
|
|
172
|
+
@state.following.push( TOKENS_FOLLOWING_attribute_IN_database_fields_48 )
|
|
173
|
+
attribute
|
|
174
|
+
@state.following.pop
|
|
175
|
+
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# --> action
|
|
179
|
+
|
|
180
|
+
@attributes = [] unless @attributes
|
|
181
|
+
expr = @attributes - ["id", "created_at", "updated_at"]
|
|
182
|
+
|
|
183
|
+
# <-- action
|
|
184
|
+
|
|
185
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
186
|
+
report_error(re)
|
|
187
|
+
recover(re)
|
|
188
|
+
|
|
189
|
+
ensure
|
|
190
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
191
|
+
# trace_out( __method__, 1 )
|
|
192
|
+
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
return expr
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
#
|
|
200
|
+
# parser rule attributes
|
|
201
|
+
#
|
|
202
|
+
# (in DatabaseFieldsParser.g)
|
|
203
|
+
# 22:1: attributes : attribute ',' ;
|
|
204
|
+
#
|
|
205
|
+
def attributes
|
|
206
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
207
|
+
# trace_in( __method__, 2 )
|
|
208
|
+
|
|
209
|
+
begin
|
|
210
|
+
# at line 22:13: attribute ','
|
|
211
|
+
@state.following.push( TOKENS_FOLLOWING_attribute_IN_attributes_60 )
|
|
212
|
+
attribute
|
|
213
|
+
@state.following.pop
|
|
214
|
+
match( T__13, TOKENS_FOLLOWING_T__13_IN_attributes_62 )
|
|
215
|
+
|
|
216
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
217
|
+
report_error(re)
|
|
218
|
+
recover(re)
|
|
219
|
+
|
|
220
|
+
ensure
|
|
221
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
222
|
+
# trace_out( __method__, 2 )
|
|
223
|
+
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
return
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
#
|
|
231
|
+
# parser rule attribute
|
|
232
|
+
#
|
|
233
|
+
# (in DatabaseFieldsParser.g)
|
|
234
|
+
# 25:1: attribute : a= ATTRIBUTE ;
|
|
235
|
+
#
|
|
236
|
+
def attribute
|
|
237
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
238
|
+
# trace_in( __method__, 3 )
|
|
239
|
+
a = nil
|
|
240
|
+
|
|
241
|
+
begin
|
|
242
|
+
# at line 26:4: a= ATTRIBUTE
|
|
243
|
+
a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_74 )
|
|
244
|
+
# --> action
|
|
245
|
+
|
|
246
|
+
@attributes = [] unless @attributes
|
|
247
|
+
@attributes << a.text
|
|
248
|
+
|
|
249
|
+
# <-- action
|
|
250
|
+
|
|
251
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
252
|
+
report_error(re)
|
|
253
|
+
recover(re)
|
|
254
|
+
|
|
255
|
+
ensure
|
|
256
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
257
|
+
# trace_out( __method__, 3 )
|
|
258
|
+
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
return
|
|
262
|
+
end
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
TOKENS_FOLLOWING_T__10_IN_database_fields_39 = Set[ 11 ]
|
|
267
|
+
TOKENS_FOLLOWING_T__11_IN_database_fields_41 = Set[ 12 ]
|
|
268
|
+
TOKENS_FOLLOWING_T__12_IN_database_fields_43 = Set[ 1, 4 ]
|
|
269
|
+
TOKENS_FOLLOWING_attributes_IN_database_fields_45 = Set[ 1, 4 ]
|
|
270
|
+
TOKENS_FOLLOWING_attribute_IN_database_fields_48 = Set[ 1 ]
|
|
271
|
+
TOKENS_FOLLOWING_attribute_IN_attributes_60 = Set[ 13 ]
|
|
272
|
+
TOKENS_FOLLOWING_T__13_IN_attributes_62 = Set[ 1 ]
|
|
273
|
+
TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_74 = Set[ 1 ]
|
|
274
|
+
|
|
275
|
+
end # class Parser < ANTLR3::Parser
|
|
276
|
+
|
|
277
|
+
at_exit { Parser.main( ARGV ) } if __FILE__ == $0
|
|
278
|
+
end
|
|
279
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require './DatabaseFieldsParserParser'
|
|
2
|
+
require './DatabaseFieldsParserLexer'
|
|
3
|
+
# input = ANTLR3::StringStream.new( "attr_accessible :hour, :minute, :second" )
|
|
4
|
+
# lexer = DatabaseFieldsParser::Lexer.new(input)
|
|
5
|
+
# tokens = ANTLR3::CommonTokenStream.new(lexer)
|
|
6
|
+
parser = DatabaseFieldsParser::Parser.new("# database_fields: hour, minute, second")
|
|
7
|
+
a= parser.database_fields
|
|
8
|
+
puts a
|
|
9
|
+
# input = ANTLR3::StringStream.new( "attr_accessible :tes, :bla, :blo" )
|
|
10
|
+
# lexer = DatabaseFieldsParser::Lexer.new(input)
|
|
11
|
+
# tokens = ANTLR3::CommonTokenStream.new(lexer)
|
|
12
|
+
parser = DatabaseFieldsParser::Parser.new("# database_fields: tes, bla, blo")
|
|
13
|
+
a= parser.database_fields
|
|
14
|
+
puts a
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
grammar HasAndBelongsToManyParser;
|
|
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
|
+
@@attribute = nil
|
|
13
|
+
@@class_name = nil
|
|
14
|
+
@@foreign_key = nil
|
|
15
|
+
@@association_foreign_key = nil
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@members {
|
|
19
|
+
attr_accessor :attribute, :class_name, :foreign_key, :association_foreign_key
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
comment: COMMENT;
|
|
23
|
+
|
|
24
|
+
has_and_belongs_to_many returns [expr]: ((c=COMMENT)* | 'has_and_belongs_to_many' attribute class_name? foreign_key? association_foreign_key? comment?)
|
|
25
|
+
{
|
|
26
|
+
$expr = {attribute: @attribute, class_name: @class_name, foreign_key: @foreign_key, association_foreign_key: @association_foreign_key} unless $c
|
|
27
|
+
}
|
|
28
|
+
;
|
|
29
|
+
|
|
30
|
+
class_name: ',' (class_name_old_syntax | class_name_new_syntax);
|
|
31
|
+
|
|
32
|
+
class_name_old_syntax: ':' 'class_name' '=>' class_name_word
|
|
33
|
+
;
|
|
34
|
+
|
|
35
|
+
class_name_word: (('\'' a=ATTRIBUTE '\'') | ('"' a=ATTRIBUTE '"') | (':' a=ATTRIBUTE))
|
|
36
|
+
{
|
|
37
|
+
@class_name = $a.text
|
|
38
|
+
}
|
|
39
|
+
;
|
|
40
|
+
|
|
41
|
+
class_name_new_syntax: 'class_name' ':' class_name_word;
|
|
42
|
+
|
|
43
|
+
foreign_key: ',' (foreign_key_old_syntax | foreign_key_new_syntax);
|
|
44
|
+
|
|
45
|
+
foreign_key_old_syntax: ':' 'foreign_key' '=>' foreign_key_word
|
|
46
|
+
;
|
|
47
|
+
|
|
48
|
+
foreign_key_word: (('\'' a=ATTRIBUTE '\'') | ('"' a=ATTRIBUTE '"') | (':' a=ATTRIBUTE))
|
|
49
|
+
{
|
|
50
|
+
@foreign_key = $a.text
|
|
51
|
+
}
|
|
52
|
+
;
|
|
53
|
+
|
|
54
|
+
foreign_key_new_syntax: 'foreign_key' ':' foreign_key_word;
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
association_foreign_key: ',' (association_foreign_key_old_syntax | association_foreign_key_new_syntax);
|
|
58
|
+
|
|
59
|
+
association_foreign_key_old_syntax: ':' 'association_foreign_key' '=>' association_foreign_key_word
|
|
60
|
+
;
|
|
61
|
+
|
|
62
|
+
association_foreign_key_word: (('\'' a=ATTRIBUTE '\'') | ('"' a=ATTRIBUTE '"') | (':' a=ATTRIBUTE))
|
|
63
|
+
{
|
|
64
|
+
@association_foreign_key = $a.text
|
|
65
|
+
}
|
|
66
|
+
;
|
|
67
|
+
|
|
68
|
+
association_foreign_key_new_syntax: 'association_foreign_key' ':' foreign_key_word;
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
attribute: ('\'' a=ATTRIBUTE '\'') | ('"' a=ATTRIBUTE '"') | (':' a=ATTRIBUTE)
|
|
72
|
+
{
|
|
73
|
+
@attribute = $a.text
|
|
74
|
+
}
|
|
75
|
+
;
|
|
76
|
+
|
|
77
|
+
//string: STRING;
|
|
78
|
+
|
|
79
|
+
/*------------------------------------------------------------------
|
|
80
|
+
* LEXER RULES
|
|
81
|
+
*------------------------------------------------------------------*/
|
|
82
|
+
//LITERAL: (HC|LC)(HC|LC|'_')*;
|
|
83
|
+
ATTRIBUTE: (HC|LC)(HC|LC|DIGIT|'_')*;
|
|
84
|
+
//LITERAL: (HC|LC)(HC|LC|DIGIT|'_'|'-')*;
|
|
85
|
+
//NUMERICCONSTANT: ('-')? DIGIT+ ('.' DIGIT+)?;
|
|
86
|
+
//STRING: '\'' ACTUALSTRING '\'';
|
|
87
|
+
WHITESPACE: ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ { $channel = HIDDEN; };
|
|
88
|
+
COMMENT: '#' ~('\n'|'\r')*;
|
|
89
|
+
fragment ACTUALSTRING: ~('\\'|'\'')*;
|
|
90
|
+
fragment DIGIT: '0'..'9';
|
|
91
|
+
fragment HC: 'A'..'Z';
|
|
92
|
+
fragment LC: 'a'..'z';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
ACTUALSTRING=10
|
|
2
|
+
T__19=19
|
|
3
|
+
T__16=16
|
|
4
|
+
HC=6
|
|
5
|
+
T__15=15
|
|
6
|
+
T__18=18
|
|
7
|
+
T__17=17
|
|
8
|
+
T__12=12
|
|
9
|
+
T__11=11
|
|
10
|
+
T__14=14
|
|
11
|
+
T__13=13
|
|
12
|
+
ATTRIBUTE=5
|
|
13
|
+
WHITESPACE=9
|
|
14
|
+
LC=7
|
|
15
|
+
DIGIT=8
|
|
16
|
+
COMMENT=4
|
|
17
|
+
'association_foreign_key'=19
|
|
18
|
+
'"'=17
|
|
19
|
+
':'=13
|
|
20
|
+
'has_and_belongs_to_many'=11
|
|
21
|
+
','=12
|
|
22
|
+
'=>'=15
|
|
23
|
+
'foreign_key'=18
|
|
24
|
+
'class_name'=14
|
|
25
|
+
'\''=16
|
|
@@ -0,0 +1,787 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
#
|
|
3
|
+
# HasAndBelongsToManyParser.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: HasAndBelongsToManyParser.g
|
|
8
|
+
# Generated at: 2013-07-28 14:32:01
|
|
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 HasAndBelongsToManyParser
|
|
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( :ACTUALSTRING => 10, :T__19 => 19, :T__16 => 16, :T__15 => 15,
|
|
70
|
+
:HC => 6, :T__18 => 18, :T__17 => 17, :T__12 => 12, :T__11 => 11,
|
|
71
|
+
:T__14 => 14, :T__13 => 13, :ATTRIBUTE => 5, :LC => 7,
|
|
72
|
+
:WHITESPACE => 9, :DIGIT => 8, :COMMENT => 4, :EOF => -1 )
|
|
73
|
+
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class Lexer < ANTLR3::Lexer
|
|
78
|
+
@grammar_home = HasAndBelongsToManyParser
|
|
79
|
+
include TokenData
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
begin
|
|
83
|
+
generated_using( "HasAndBelongsToManyParser.g", "3.2.1-SNAPSHOT Jul 31, 2010 19:34:52", "1.8.11" )
|
|
84
|
+
rescue NoMethodError => error
|
|
85
|
+
# ignore
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
RULE_NAMES = [ "T__11", "T__12", "T__13", "T__14", "T__15", "T__16",
|
|
89
|
+
"T__17", "T__18", "T__19", "ATTRIBUTE", "WHITESPACE",
|
|
90
|
+
"COMMENT", "ACTUALSTRING", "DIGIT", "HC", "LC" ].freeze
|
|
91
|
+
RULE_METHODS = [ :t__11!, :t__12!, :t__13!, :t__14!, :t__15!, :t__16!,
|
|
92
|
+
:t__17!, :t__18!, :t__19!, :attribute!, :whitespace!,
|
|
93
|
+
:comment!, :actualstring!, :digit!, :hc!, :lc! ].freeze
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def initialize( input=nil, options = {} )
|
|
97
|
+
super( input, options )
|
|
98
|
+
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
# - - - - - - - - - - - lexer rules - - - - - - - - - - - -
|
|
103
|
+
# lexer rule t__11! (T__11)
|
|
104
|
+
# (in HasAndBelongsToManyParser.g)
|
|
105
|
+
def t__11!
|
|
106
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
107
|
+
# trace_in( __method__, 1 )
|
|
108
|
+
|
|
109
|
+
type = T__11
|
|
110
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
# - - - - main rule block - - - -
|
|
114
|
+
# at line 7:9: 'has_and_belongs_to_many'
|
|
115
|
+
match( "has_and_belongs_to_many" )
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
@state.type = type
|
|
119
|
+
@state.channel = channel
|
|
120
|
+
|
|
121
|
+
ensure
|
|
122
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
123
|
+
# trace_out( __method__, 1 )
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# lexer rule t__12! (T__12)
|
|
128
|
+
# (in HasAndBelongsToManyParser.g)
|
|
129
|
+
def t__12!
|
|
130
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
131
|
+
# trace_in( __method__, 2 )
|
|
132
|
+
|
|
133
|
+
type = T__12
|
|
134
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
# - - - - main rule block - - - -
|
|
138
|
+
# at line 8:9: ','
|
|
139
|
+
match( 0x2c )
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
@state.type = type
|
|
143
|
+
@state.channel = channel
|
|
144
|
+
|
|
145
|
+
ensure
|
|
146
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
147
|
+
# trace_out( __method__, 2 )
|
|
148
|
+
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# lexer rule t__13! (T__13)
|
|
152
|
+
# (in HasAndBelongsToManyParser.g)
|
|
153
|
+
def t__13!
|
|
154
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
155
|
+
# trace_in( __method__, 3 )
|
|
156
|
+
|
|
157
|
+
type = T__13
|
|
158
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
# - - - - main rule block - - - -
|
|
162
|
+
# at line 9:9: ':'
|
|
163
|
+
match( 0x3a )
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
@state.type = type
|
|
167
|
+
@state.channel = channel
|
|
168
|
+
|
|
169
|
+
ensure
|
|
170
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
171
|
+
# trace_out( __method__, 3 )
|
|
172
|
+
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# lexer rule t__14! (T__14)
|
|
176
|
+
# (in HasAndBelongsToManyParser.g)
|
|
177
|
+
def t__14!
|
|
178
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
179
|
+
# trace_in( __method__, 4 )
|
|
180
|
+
|
|
181
|
+
type = T__14
|
|
182
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
# - - - - main rule block - - - -
|
|
186
|
+
# at line 10:9: 'class_name'
|
|
187
|
+
match( "class_name" )
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
@state.type = type
|
|
191
|
+
@state.channel = channel
|
|
192
|
+
|
|
193
|
+
ensure
|
|
194
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
195
|
+
# trace_out( __method__, 4 )
|
|
196
|
+
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
# lexer rule t__15! (T__15)
|
|
200
|
+
# (in HasAndBelongsToManyParser.g)
|
|
201
|
+
def t__15!
|
|
202
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
203
|
+
# trace_in( __method__, 5 )
|
|
204
|
+
|
|
205
|
+
type = T__15
|
|
206
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
# - - - - main rule block - - - -
|
|
210
|
+
# at line 11:9: '=>'
|
|
211
|
+
match( "=>" )
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
@state.type = type
|
|
215
|
+
@state.channel = channel
|
|
216
|
+
|
|
217
|
+
ensure
|
|
218
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
219
|
+
# trace_out( __method__, 5 )
|
|
220
|
+
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
# lexer rule t__16! (T__16)
|
|
224
|
+
# (in HasAndBelongsToManyParser.g)
|
|
225
|
+
def t__16!
|
|
226
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
227
|
+
# trace_in( __method__, 6 )
|
|
228
|
+
|
|
229
|
+
type = T__16
|
|
230
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
# - - - - main rule block - - - -
|
|
234
|
+
# at line 12:9: '\\''
|
|
235
|
+
match( 0x27 )
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
@state.type = type
|
|
239
|
+
@state.channel = channel
|
|
240
|
+
|
|
241
|
+
ensure
|
|
242
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
243
|
+
# trace_out( __method__, 6 )
|
|
244
|
+
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
# lexer rule t__17! (T__17)
|
|
248
|
+
# (in HasAndBelongsToManyParser.g)
|
|
249
|
+
def t__17!
|
|
250
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
251
|
+
# trace_in( __method__, 7 )
|
|
252
|
+
|
|
253
|
+
type = T__17
|
|
254
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
# - - - - main rule block - - - -
|
|
258
|
+
# at line 13:9: '\"'
|
|
259
|
+
match( 0x22 )
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
@state.type = type
|
|
263
|
+
@state.channel = channel
|
|
264
|
+
|
|
265
|
+
ensure
|
|
266
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
267
|
+
# trace_out( __method__, 7 )
|
|
268
|
+
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
# lexer rule t__18! (T__18)
|
|
272
|
+
# (in HasAndBelongsToManyParser.g)
|
|
273
|
+
def t__18!
|
|
274
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
275
|
+
# trace_in( __method__, 8 )
|
|
276
|
+
|
|
277
|
+
type = T__18
|
|
278
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
# - - - - main rule block - - - -
|
|
282
|
+
# at line 14:9: 'foreign_key'
|
|
283
|
+
match( "foreign_key" )
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
@state.type = type
|
|
287
|
+
@state.channel = channel
|
|
288
|
+
|
|
289
|
+
ensure
|
|
290
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
291
|
+
# trace_out( __method__, 8 )
|
|
292
|
+
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
# lexer rule t__19! (T__19)
|
|
296
|
+
# (in HasAndBelongsToManyParser.g)
|
|
297
|
+
def t__19!
|
|
298
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
299
|
+
# trace_in( __method__, 9 )
|
|
300
|
+
|
|
301
|
+
type = T__19
|
|
302
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
# - - - - main rule block - - - -
|
|
306
|
+
# at line 15:9: 'association_foreign_key'
|
|
307
|
+
match( "association_foreign_key" )
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
@state.type = type
|
|
311
|
+
@state.channel = channel
|
|
312
|
+
|
|
313
|
+
ensure
|
|
314
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
315
|
+
# trace_out( __method__, 9 )
|
|
316
|
+
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
# lexer rule attribute! (ATTRIBUTE)
|
|
320
|
+
# (in HasAndBelongsToManyParser.g)
|
|
321
|
+
def attribute!
|
|
322
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
323
|
+
# trace_in( __method__, 10 )
|
|
324
|
+
|
|
325
|
+
type = ATTRIBUTE
|
|
326
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
# - - - - main rule block - - - -
|
|
330
|
+
# at line 83:12: ( HC | LC ) ( HC | LC | DIGIT | '_' )*
|
|
331
|
+
if @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek( 1 ).between?( 0x61, 0x7a )
|
|
332
|
+
@input.consume
|
|
333
|
+
else
|
|
334
|
+
mse = MismatchedSet( nil )
|
|
335
|
+
recover mse
|
|
336
|
+
raise mse
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
# at line 83:19: ( HC | LC | DIGIT | '_' )*
|
|
341
|
+
while true # decision 1
|
|
342
|
+
alt_1 = 2
|
|
343
|
+
look_1_0 = @input.peek( 1 )
|
|
344
|
+
|
|
345
|
+
if ( look_1_0.between?( 0x30, 0x39 ) || look_1_0.between?( 0x41, 0x5a ) || look_1_0 == 0x5f || look_1_0.between?( 0x61, 0x7a ) )
|
|
346
|
+
alt_1 = 1
|
|
347
|
+
|
|
348
|
+
end
|
|
349
|
+
case alt_1
|
|
350
|
+
when 1
|
|
351
|
+
# at line
|
|
352
|
+
if @input.peek( 1 ).between?( 0x30, 0x39 ) || @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek(1) == 0x5f || @input.peek( 1 ).between?( 0x61, 0x7a )
|
|
353
|
+
@input.consume
|
|
354
|
+
else
|
|
355
|
+
mse = MismatchedSet( nil )
|
|
356
|
+
recover mse
|
|
357
|
+
raise mse
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
else
|
|
363
|
+
break # out of loop for decision 1
|
|
364
|
+
end
|
|
365
|
+
end # loop for decision 1
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
@state.type = type
|
|
369
|
+
@state.channel = channel
|
|
370
|
+
|
|
371
|
+
ensure
|
|
372
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
373
|
+
# trace_out( __method__, 10 )
|
|
374
|
+
|
|
375
|
+
end
|
|
376
|
+
|
|
377
|
+
# lexer rule whitespace! (WHITESPACE)
|
|
378
|
+
# (in HasAndBelongsToManyParser.g)
|
|
379
|
+
def whitespace!
|
|
380
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
381
|
+
# trace_in( __method__, 11 )
|
|
382
|
+
|
|
383
|
+
type = WHITESPACE
|
|
384
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
# - - - - main rule block - - - -
|
|
388
|
+
# at line 87:13: ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+
|
|
389
|
+
# at file 87:13: ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+
|
|
390
|
+
match_count_2 = 0
|
|
391
|
+
while true
|
|
392
|
+
alt_2 = 2
|
|
393
|
+
look_2_0 = @input.peek( 1 )
|
|
394
|
+
|
|
395
|
+
if ( look_2_0.between?( 0x9, 0xa ) || look_2_0.between?( 0xc, 0xd ) || look_2_0 == 0x20 )
|
|
396
|
+
alt_2 = 1
|
|
397
|
+
|
|
398
|
+
end
|
|
399
|
+
case alt_2
|
|
400
|
+
when 1
|
|
401
|
+
# at line
|
|
402
|
+
if @input.peek( 1 ).between?( 0x9, 0xa ) || @input.peek( 1 ).between?( 0xc, 0xd ) || @input.peek(1) == 0x20
|
|
403
|
+
@input.consume
|
|
404
|
+
else
|
|
405
|
+
mse = MismatchedSet( nil )
|
|
406
|
+
recover mse
|
|
407
|
+
raise mse
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
else
|
|
413
|
+
match_count_2 > 0 and break
|
|
414
|
+
eee = EarlyExit(2)
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
raise eee
|
|
418
|
+
end
|
|
419
|
+
match_count_2 += 1
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
# --> action
|
|
423
|
+
channel = HIDDEN;
|
|
424
|
+
# <-- action
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
@state.type = type
|
|
428
|
+
@state.channel = channel
|
|
429
|
+
|
|
430
|
+
ensure
|
|
431
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
432
|
+
# trace_out( __method__, 11 )
|
|
433
|
+
|
|
434
|
+
end
|
|
435
|
+
|
|
436
|
+
# lexer rule comment! (COMMENT)
|
|
437
|
+
# (in HasAndBelongsToManyParser.g)
|
|
438
|
+
def comment!
|
|
439
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
440
|
+
# trace_in( __method__, 12 )
|
|
441
|
+
|
|
442
|
+
type = COMMENT
|
|
443
|
+
channel = ANTLR3::DEFAULT_CHANNEL
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
# - - - - main rule block - - - -
|
|
447
|
+
# at line 88:10: '#' (~ ( '\\n' | '\\r' ) )*
|
|
448
|
+
match( 0x23 )
|
|
449
|
+
# at line 88:14: (~ ( '\\n' | '\\r' ) )*
|
|
450
|
+
while true # decision 3
|
|
451
|
+
alt_3 = 2
|
|
452
|
+
look_3_0 = @input.peek( 1 )
|
|
453
|
+
|
|
454
|
+
if ( look_3_0.between?( 0x0, 0x9 ) || look_3_0.between?( 0xb, 0xc ) || look_3_0.between?( 0xe, 0xffff ) )
|
|
455
|
+
alt_3 = 1
|
|
456
|
+
|
|
457
|
+
end
|
|
458
|
+
case alt_3
|
|
459
|
+
when 1
|
|
460
|
+
# at line 88:14: ~ ( '\\n' | '\\r' )
|
|
461
|
+
if @input.peek( 1 ).between?( 0x0, 0x9 ) || @input.peek( 1 ).between?( 0xb, 0xc ) || @input.peek( 1 ).between?( 0xe, 0xff )
|
|
462
|
+
@input.consume
|
|
463
|
+
else
|
|
464
|
+
mse = MismatchedSet( nil )
|
|
465
|
+
recover mse
|
|
466
|
+
raise mse
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
else
|
|
472
|
+
break # out of loop for decision 3
|
|
473
|
+
end
|
|
474
|
+
end # loop for decision 3
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
@state.type = type
|
|
478
|
+
@state.channel = channel
|
|
479
|
+
|
|
480
|
+
ensure
|
|
481
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
482
|
+
# trace_out( __method__, 12 )
|
|
483
|
+
|
|
484
|
+
end
|
|
485
|
+
|
|
486
|
+
# lexer rule actualstring! (ACTUALSTRING)
|
|
487
|
+
# (in HasAndBelongsToManyParser.g)
|
|
488
|
+
def actualstring!
|
|
489
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
490
|
+
# trace_in( __method__, 13 )
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
# - - - - main rule block - - - -
|
|
494
|
+
# at line 89:24: (~ ( '\\\\' | '\\'' ) )*
|
|
495
|
+
# at line 89:24: (~ ( '\\\\' | '\\'' ) )*
|
|
496
|
+
while true # decision 4
|
|
497
|
+
alt_4 = 2
|
|
498
|
+
look_4_0 = @input.peek( 1 )
|
|
499
|
+
|
|
500
|
+
if ( look_4_0.between?( 0x0, 0x26 ) || look_4_0.between?( 0x28, 0x5b ) || look_4_0.between?( 0x5d, 0xffff ) )
|
|
501
|
+
alt_4 = 1
|
|
502
|
+
|
|
503
|
+
end
|
|
504
|
+
case alt_4
|
|
505
|
+
when 1
|
|
506
|
+
# at line 89:24: ~ ( '\\\\' | '\\'' )
|
|
507
|
+
if @input.peek( 1 ).between?( 0x0, 0x26 ) || @input.peek( 1 ).between?( 0x28, 0x5b ) || @input.peek( 1 ).between?( 0x5d, 0xff )
|
|
508
|
+
@input.consume
|
|
509
|
+
else
|
|
510
|
+
mse = MismatchedSet( nil )
|
|
511
|
+
recover mse
|
|
512
|
+
raise mse
|
|
513
|
+
end
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
else
|
|
518
|
+
break # out of loop for decision 4
|
|
519
|
+
end
|
|
520
|
+
end # loop for decision 4
|
|
521
|
+
|
|
522
|
+
ensure
|
|
523
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
524
|
+
# trace_out( __method__, 13 )
|
|
525
|
+
|
|
526
|
+
end
|
|
527
|
+
|
|
528
|
+
# lexer rule digit! (DIGIT)
|
|
529
|
+
# (in HasAndBelongsToManyParser.g)
|
|
530
|
+
def digit!
|
|
531
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
532
|
+
# trace_in( __method__, 14 )
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
# - - - - main rule block - - - -
|
|
536
|
+
# at line 90:17: '0' .. '9'
|
|
537
|
+
match_range( 0x30, 0x39 )
|
|
538
|
+
|
|
539
|
+
ensure
|
|
540
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
541
|
+
# trace_out( __method__, 14 )
|
|
542
|
+
|
|
543
|
+
end
|
|
544
|
+
|
|
545
|
+
# lexer rule hc! (HC)
|
|
546
|
+
# (in HasAndBelongsToManyParser.g)
|
|
547
|
+
def hc!
|
|
548
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
549
|
+
# trace_in( __method__, 15 )
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
# - - - - main rule block - - - -
|
|
553
|
+
# at line 91:14: 'A' .. 'Z'
|
|
554
|
+
match_range( 0x41, 0x5a )
|
|
555
|
+
|
|
556
|
+
ensure
|
|
557
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
558
|
+
# trace_out( __method__, 15 )
|
|
559
|
+
|
|
560
|
+
end
|
|
561
|
+
|
|
562
|
+
# lexer rule lc! (LC)
|
|
563
|
+
# (in HasAndBelongsToManyParser.g)
|
|
564
|
+
def lc!
|
|
565
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
566
|
+
# trace_in( __method__, 16 )
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
# - - - - main rule block - - - -
|
|
570
|
+
# at line 92:14: 'a' .. 'z'
|
|
571
|
+
match_range( 0x61, 0x7a )
|
|
572
|
+
|
|
573
|
+
ensure
|
|
574
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
575
|
+
# trace_out( __method__, 16 )
|
|
576
|
+
|
|
577
|
+
end
|
|
578
|
+
|
|
579
|
+
# main rule used to study the input at the current position,
|
|
580
|
+
# and choose the proper lexer rule to call in order to
|
|
581
|
+
# fetch the next token
|
|
582
|
+
#
|
|
583
|
+
# usually, you don't make direct calls to this method,
|
|
584
|
+
# but instead use the next_token method, which will
|
|
585
|
+
# build and emit the actual next token
|
|
586
|
+
def token!
|
|
587
|
+
# at line 1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | ATTRIBUTE | WHITESPACE | COMMENT )
|
|
588
|
+
alt_5 = 12
|
|
589
|
+
alt_5 = @dfa5.predict( @input )
|
|
590
|
+
case alt_5
|
|
591
|
+
when 1
|
|
592
|
+
# at line 1:10: T__11
|
|
593
|
+
t__11!
|
|
594
|
+
|
|
595
|
+
when 2
|
|
596
|
+
# at line 1:16: T__12
|
|
597
|
+
t__12!
|
|
598
|
+
|
|
599
|
+
when 3
|
|
600
|
+
# at line 1:22: T__13
|
|
601
|
+
t__13!
|
|
602
|
+
|
|
603
|
+
when 4
|
|
604
|
+
# at line 1:28: T__14
|
|
605
|
+
t__14!
|
|
606
|
+
|
|
607
|
+
when 5
|
|
608
|
+
# at line 1:34: T__15
|
|
609
|
+
t__15!
|
|
610
|
+
|
|
611
|
+
when 6
|
|
612
|
+
# at line 1:40: T__16
|
|
613
|
+
t__16!
|
|
614
|
+
|
|
615
|
+
when 7
|
|
616
|
+
# at line 1:46: T__17
|
|
617
|
+
t__17!
|
|
618
|
+
|
|
619
|
+
when 8
|
|
620
|
+
# at line 1:52: T__18
|
|
621
|
+
t__18!
|
|
622
|
+
|
|
623
|
+
when 9
|
|
624
|
+
# at line 1:58: T__19
|
|
625
|
+
t__19!
|
|
626
|
+
|
|
627
|
+
when 10
|
|
628
|
+
# at line 1:64: ATTRIBUTE
|
|
629
|
+
attribute!
|
|
630
|
+
|
|
631
|
+
when 11
|
|
632
|
+
# at line 1:74: WHITESPACE
|
|
633
|
+
whitespace!
|
|
634
|
+
|
|
635
|
+
when 12
|
|
636
|
+
# at line 1:85: COMMENT
|
|
637
|
+
comment!
|
|
638
|
+
|
|
639
|
+
end
|
|
640
|
+
end
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
# - - - - - - - - - - DFA definitions - - - - - - - - - - -
|
|
644
|
+
class DFA5 < ANTLR3::DFA
|
|
645
|
+
EOT = unpack( 1, -1, 1, 10, 2, -1, 1, 10, 3, -1, 2, 10, 3, -1, 33,
|
|
646
|
+
10, 1, 50, 3, 10, 1, -1, 1, 54, 2, 10, 1, -1, 21, 10,
|
|
647
|
+
1, 78, 1, 79, 2, -1 )
|
|
648
|
+
EOF = unpack( 80, -1 )
|
|
649
|
+
MIN = unpack( 1, 9, 1, 97, 2, -1, 1, 108, 3, -1, 1, 111, 1, 115, 3,
|
|
650
|
+
-1, 1, 115, 1, 97, 1, 114, 1, 115, 1, 95, 1, 115, 1,
|
|
651
|
+
101, 1, 111, 1, 97, 1, 115, 1, 105, 1, 99, 1, 110, 1,
|
|
652
|
+
95, 1, 103, 1, 105, 1, 100, 2, 110, 1, 97, 1, 95, 1,
|
|
653
|
+
97, 1, 95, 1, 116, 1, 98, 1, 109, 1, 107, 1, 105, 3,
|
|
654
|
+
101, 1, 111, 1, 108, 1, 48, 1, 121, 1, 110, 1, 111,
|
|
655
|
+
1, -1, 1, 48, 1, 95, 1, 110, 1, -1, 1, 102, 1, 103,
|
|
656
|
+
1, 111, 1, 115, 1, 114, 1, 95, 1, 101, 1, 116, 1, 105,
|
|
657
|
+
1, 111, 1, 103, 1, 95, 1, 110, 1, 109, 1, 95, 1, 97,
|
|
658
|
+
1, 107, 1, 110, 1, 101, 2, 121, 2, 48, 2, -1 )
|
|
659
|
+
MAX = unpack( 1, 122, 1, 97, 2, -1, 1, 108, 3, -1, 1, 111, 1, 115,
|
|
660
|
+
3, -1, 1, 115, 1, 97, 1, 114, 1, 115, 1, 95, 1, 115,
|
|
661
|
+
1, 101, 1, 111, 1, 97, 1, 115, 1, 105, 1, 99, 1, 110,
|
|
662
|
+
1, 95, 1, 103, 1, 105, 1, 100, 2, 110, 1, 97, 1, 95,
|
|
663
|
+
1, 97, 1, 95, 1, 116, 1, 98, 1, 109, 1, 107, 1, 105,
|
|
664
|
+
3, 101, 1, 111, 1, 108, 1, 122, 1, 121, 1, 110, 1, 111,
|
|
665
|
+
1, -1, 1, 122, 1, 95, 1, 110, 1, -1, 1, 102, 1, 103,
|
|
666
|
+
1, 111, 1, 115, 1, 114, 1, 95, 1, 101, 1, 116, 1, 105,
|
|
667
|
+
1, 111, 1, 103, 1, 95, 1, 110, 1, 109, 1, 95, 1, 97,
|
|
668
|
+
1, 107, 1, 110, 1, 101, 2, 121, 2, 122, 2, -1 )
|
|
669
|
+
ACCEPT = unpack( 2, -1, 1, 2, 1, 3, 1, -1, 1, 5, 1, 6, 1, 7, 2, -1,
|
|
670
|
+
1, 10, 1, 11, 1, 12, 37, -1, 1, 4, 3, -1, 1, 8, 23,
|
|
671
|
+
-1, 1, 1, 1, 9 )
|
|
672
|
+
SPECIAL = unpack( 80, -1 )
|
|
673
|
+
TRANSITION = [
|
|
674
|
+
unpack( 2, 11, 1, -1, 2, 11, 18, -1, 1, 11, 1, -1, 1, 7, 1, 12,
|
|
675
|
+
3, -1, 1, 6, 4, -1, 1, 2, 13, -1, 1, 3, 2, -1, 1, 5, 3,
|
|
676
|
+
-1, 26, 10, 6, -1, 1, 9, 1, 10, 1, 4, 2, 10, 1, 8, 1, 10,
|
|
677
|
+
1, 1, 18, 10 ),
|
|
678
|
+
unpack( 1, 13 ),
|
|
679
|
+
unpack( ),
|
|
680
|
+
unpack( ),
|
|
681
|
+
unpack( 1, 14 ),
|
|
682
|
+
unpack( ),
|
|
683
|
+
unpack( ),
|
|
684
|
+
unpack( ),
|
|
685
|
+
unpack( 1, 15 ),
|
|
686
|
+
unpack( 1, 16 ),
|
|
687
|
+
unpack( ),
|
|
688
|
+
unpack( ),
|
|
689
|
+
unpack( ),
|
|
690
|
+
unpack( 1, 17 ),
|
|
691
|
+
unpack( 1, 18 ),
|
|
692
|
+
unpack( 1, 19 ),
|
|
693
|
+
unpack( 1, 20 ),
|
|
694
|
+
unpack( 1, 21 ),
|
|
695
|
+
unpack( 1, 22 ),
|
|
696
|
+
unpack( 1, 23 ),
|
|
697
|
+
unpack( 1, 24 ),
|
|
698
|
+
unpack( 1, 25 ),
|
|
699
|
+
unpack( 1, 26 ),
|
|
700
|
+
unpack( 1, 27 ),
|
|
701
|
+
unpack( 1, 28 ),
|
|
702
|
+
unpack( 1, 29 ),
|
|
703
|
+
unpack( 1, 30 ),
|
|
704
|
+
unpack( 1, 31 ),
|
|
705
|
+
unpack( 1, 32 ),
|
|
706
|
+
unpack( 1, 33 ),
|
|
707
|
+
unpack( 1, 34 ),
|
|
708
|
+
unpack( 1, 35 ),
|
|
709
|
+
unpack( 1, 36 ),
|
|
710
|
+
unpack( 1, 37 ),
|
|
711
|
+
unpack( 1, 38 ),
|
|
712
|
+
unpack( 1, 39 ),
|
|
713
|
+
unpack( 1, 40 ),
|
|
714
|
+
unpack( 1, 41 ),
|
|
715
|
+
unpack( 1, 42 ),
|
|
716
|
+
unpack( 1, 43 ),
|
|
717
|
+
unpack( 1, 44 ),
|
|
718
|
+
unpack( 1, 45 ),
|
|
719
|
+
unpack( 1, 46 ),
|
|
720
|
+
unpack( 1, 47 ),
|
|
721
|
+
unpack( 1, 48 ),
|
|
722
|
+
unpack( 1, 49 ),
|
|
723
|
+
unpack( 10, 10, 7, -1, 26, 10, 4, -1, 1, 10, 1, -1, 26, 10 ),
|
|
724
|
+
unpack( 1, 51 ),
|
|
725
|
+
unpack( 1, 52 ),
|
|
726
|
+
unpack( 1, 53 ),
|
|
727
|
+
unpack( ),
|
|
728
|
+
unpack( 10, 10, 7, -1, 26, 10, 4, -1, 1, 10, 1, -1, 26, 10 ),
|
|
729
|
+
unpack( 1, 55 ),
|
|
730
|
+
unpack( 1, 56 ),
|
|
731
|
+
unpack( ),
|
|
732
|
+
unpack( 1, 57 ),
|
|
733
|
+
unpack( 1, 58 ),
|
|
734
|
+
unpack( 1, 59 ),
|
|
735
|
+
unpack( 1, 60 ),
|
|
736
|
+
unpack( 1, 61 ),
|
|
737
|
+
unpack( 1, 62 ),
|
|
738
|
+
unpack( 1, 63 ),
|
|
739
|
+
unpack( 1, 64 ),
|
|
740
|
+
unpack( 1, 65 ),
|
|
741
|
+
unpack( 1, 66 ),
|
|
742
|
+
unpack( 1, 67 ),
|
|
743
|
+
unpack( 1, 68 ),
|
|
744
|
+
unpack( 1, 69 ),
|
|
745
|
+
unpack( 1, 70 ),
|
|
746
|
+
unpack( 1, 71 ),
|
|
747
|
+
unpack( 1, 72 ),
|
|
748
|
+
unpack( 1, 73 ),
|
|
749
|
+
unpack( 1, 74 ),
|
|
750
|
+
unpack( 1, 75 ),
|
|
751
|
+
unpack( 1, 76 ),
|
|
752
|
+
unpack( 1, 77 ),
|
|
753
|
+
unpack( 10, 10, 7, -1, 26, 10, 4, -1, 1, 10, 1, -1, 26, 10 ),
|
|
754
|
+
unpack( 10, 10, 7, -1, 26, 10, 4, -1, 1, 10, 1, -1, 26, 10 ),
|
|
755
|
+
unpack( ),
|
|
756
|
+
unpack( )
|
|
757
|
+
].freeze
|
|
758
|
+
|
|
759
|
+
( 0 ... MIN.length ).zip( MIN, MAX ) do | i, a, z |
|
|
760
|
+
if a > 0 and z < 0
|
|
761
|
+
MAX[ i ] %= 0x10000
|
|
762
|
+
end
|
|
763
|
+
end
|
|
764
|
+
|
|
765
|
+
@decision = 5
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
def description
|
|
769
|
+
<<-'__dfa_description__'.strip!
|
|
770
|
+
1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | ATTRIBUTE | WHITESPACE | COMMENT );
|
|
771
|
+
__dfa_description__
|
|
772
|
+
end
|
|
773
|
+
end
|
|
774
|
+
|
|
775
|
+
|
|
776
|
+
private
|
|
777
|
+
|
|
778
|
+
def initialize_dfas
|
|
779
|
+
super rescue nil
|
|
780
|
+
@dfa5 = DFA5.new( self, 5 )
|
|
781
|
+
|
|
782
|
+
end
|
|
783
|
+
end # class Lexer < ANTLR3::Lexer
|
|
784
|
+
|
|
785
|
+
at_exit { Lexer.main( ARGV ) } if __FILE__ == $0
|
|
786
|
+
end
|
|
787
|
+
|