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,869 @@
|
|
|
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
|
+
# - - - - - - begin action @parser::header - - - - - -
|
|
60
|
+
# /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.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 ValidatesParser
|
|
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( :T__24 => 24, :T__23 => 23, :T__22 => 22, :T__21 => 21,
|
|
80
|
+
:T__20 => 20, :ATTRIBUTE => 5, :WHITESPACE => 9, :EOF => -1,
|
|
81
|
+
:ACTUALSTRING => 10, :T__19 => 19, :T__16 => 16, :HC => 6,
|
|
82
|
+
:T__15 => 15, :T__18 => 18, :T__17 => 17, :T__12 => 12,
|
|
83
|
+
:T__11 => 11, :T__14 => 14, :T__13 => 13, :LC => 7, :DIGIT => 8,
|
|
84
|
+
:COMMENT => 4 )
|
|
85
|
+
|
|
86
|
+
# register the proper human-readable name or literal value
|
|
87
|
+
# for each token type
|
|
88
|
+
#
|
|
89
|
+
# this is necessary because anonymous tokens, which are
|
|
90
|
+
# created from literal values in the grammar, do not
|
|
91
|
+
# have descriptive names
|
|
92
|
+
register_names( "COMMENT", "ATTRIBUTE", "HC", "LC", "DIGIT", "WHITESPACE",
|
|
93
|
+
"ACTUALSTRING", "'validates'", "','", "':'", "'uniqueness'",
|
|
94
|
+
"'presence'", "'=>'", "'true'", "'{'", "'}'", "'scope'",
|
|
95
|
+
"'['", "']'", "'\\''", "'\"'" )
|
|
96
|
+
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class Parser < ANTLR3::Parser
|
|
101
|
+
@grammar_home = ValidatesParser
|
|
102
|
+
|
|
103
|
+
RULE_METHODS = [ :comment, :validates, :validation_helper, :validation_helper_old_syntax,
|
|
104
|
+
:validation_helper_new_syntax, :ruby_scope, :scope_old_syntax,
|
|
105
|
+
:scope_new_syntax, :list, :attribute, :list_attribute ].freeze
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
include TokenData
|
|
109
|
+
|
|
110
|
+
begin
|
|
111
|
+
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" )
|
|
112
|
+
rescue NoMethodError => error
|
|
113
|
+
# ignore
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def initialize( input, options = {} )
|
|
117
|
+
super( input, options )
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
attr_accessor :attribute, :list, :type
|
|
123
|
+
|
|
124
|
+
# - - - - - - - - - - - - Rules - - - - - - - - - - - - -
|
|
125
|
+
|
|
126
|
+
#
|
|
127
|
+
# parser rule comment
|
|
128
|
+
#
|
|
129
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
130
|
+
# 17:1: comment : COMMENT ;
|
|
131
|
+
#
|
|
132
|
+
def comment
|
|
133
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
134
|
+
# trace_in( __method__, 1 )
|
|
135
|
+
|
|
136
|
+
begin
|
|
137
|
+
# at line 17:10: COMMENT
|
|
138
|
+
match( COMMENT, TOKENS_FOLLOWING_COMMENT_IN_comment_35 )
|
|
139
|
+
|
|
140
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
141
|
+
report_error(re)
|
|
142
|
+
recover(re)
|
|
143
|
+
|
|
144
|
+
ensure
|
|
145
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
146
|
+
# trace_out( __method__, 1 )
|
|
147
|
+
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
return
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
#
|
|
155
|
+
# parser rule validates
|
|
156
|
+
#
|
|
157
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
158
|
+
# 19:1: validates returns [expr] : ( (c= COMMENT )* | 'validates' attribute validation_helper ( comment )? ) ;
|
|
159
|
+
#
|
|
160
|
+
def validates
|
|
161
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
162
|
+
# trace_in( __method__, 2 )
|
|
163
|
+
expr = nil
|
|
164
|
+
c = nil
|
|
165
|
+
|
|
166
|
+
begin
|
|
167
|
+
# at line 19:27: ( (c= COMMENT )* | 'validates' attribute validation_helper ( comment )? )
|
|
168
|
+
# at line 19:27: ( (c= COMMENT )* | 'validates' attribute validation_helper ( comment )? )
|
|
169
|
+
alt_3 = 2
|
|
170
|
+
look_3_0 = @input.peek( 1 )
|
|
171
|
+
|
|
172
|
+
if ( look_3_0 == EOF || look_3_0 == COMMENT )
|
|
173
|
+
alt_3 = 1
|
|
174
|
+
elsif ( look_3_0 == T__11 )
|
|
175
|
+
alt_3 = 2
|
|
176
|
+
else
|
|
177
|
+
raise NoViableAlternative( "", 3, 0 )
|
|
178
|
+
end
|
|
179
|
+
case alt_3
|
|
180
|
+
when 1
|
|
181
|
+
# at line 19:28: (c= COMMENT )*
|
|
182
|
+
# at line 19:28: (c= COMMENT )*
|
|
183
|
+
while true # decision 1
|
|
184
|
+
alt_1 = 2
|
|
185
|
+
look_1_0 = @input.peek( 1 )
|
|
186
|
+
|
|
187
|
+
if ( look_1_0 == COMMENT )
|
|
188
|
+
alt_1 = 1
|
|
189
|
+
|
|
190
|
+
end
|
|
191
|
+
case alt_1
|
|
192
|
+
when 1
|
|
193
|
+
# at line 19:29: c= COMMENT
|
|
194
|
+
c = match( COMMENT, TOKENS_FOLLOWING_COMMENT_IN_validates_50 )
|
|
195
|
+
|
|
196
|
+
else
|
|
197
|
+
break # out of loop for decision 1
|
|
198
|
+
end
|
|
199
|
+
end # loop for decision 1
|
|
200
|
+
|
|
201
|
+
when 2
|
|
202
|
+
# at line 19:43: 'validates' attribute validation_helper ( comment )?
|
|
203
|
+
match( T__11, TOKENS_FOLLOWING_T__11_IN_validates_56 )
|
|
204
|
+
@state.following.push( TOKENS_FOLLOWING_attribute_IN_validates_58 )
|
|
205
|
+
attribute
|
|
206
|
+
@state.following.pop
|
|
207
|
+
@state.following.push( TOKENS_FOLLOWING_validation_helper_IN_validates_60 )
|
|
208
|
+
validation_helper
|
|
209
|
+
@state.following.pop
|
|
210
|
+
# at line 19:83: ( comment )?
|
|
211
|
+
alt_2 = 2
|
|
212
|
+
look_2_0 = @input.peek( 1 )
|
|
213
|
+
|
|
214
|
+
if ( look_2_0 == COMMENT )
|
|
215
|
+
alt_2 = 1
|
|
216
|
+
end
|
|
217
|
+
case alt_2
|
|
218
|
+
when 1
|
|
219
|
+
# at line 19:83: comment
|
|
220
|
+
@state.following.push( TOKENS_FOLLOWING_comment_IN_validates_62 )
|
|
221
|
+
comment
|
|
222
|
+
@state.following.pop
|
|
223
|
+
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
end
|
|
227
|
+
# --> action
|
|
228
|
+
|
|
229
|
+
@list = [] unless @list
|
|
230
|
+
expr = {type: @type, attribute: @attribute, on: @list} unless c
|
|
231
|
+
|
|
232
|
+
# <-- action
|
|
233
|
+
|
|
234
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
235
|
+
report_error(re)
|
|
236
|
+
recover(re)
|
|
237
|
+
|
|
238
|
+
ensure
|
|
239
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
240
|
+
# trace_out( __method__, 2 )
|
|
241
|
+
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
return expr
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
#
|
|
249
|
+
# parser rule validation_helper
|
|
250
|
+
#
|
|
251
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
252
|
+
# 26:1: validation_helper : ',' ( validation_helper_old_syntax | validation_helper_new_syntax ) ;
|
|
253
|
+
#
|
|
254
|
+
def validation_helper
|
|
255
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
256
|
+
# trace_in( __method__, 3 )
|
|
257
|
+
|
|
258
|
+
begin
|
|
259
|
+
# at line 26:20: ',' ( validation_helper_old_syntax | validation_helper_new_syntax )
|
|
260
|
+
match( T__12, TOKENS_FOLLOWING_T__12_IN_validation_helper_75 )
|
|
261
|
+
# at line 26:24: ( validation_helper_old_syntax | validation_helper_new_syntax )
|
|
262
|
+
alt_4 = 2
|
|
263
|
+
look_4_0 = @input.peek( 1 )
|
|
264
|
+
|
|
265
|
+
if ( look_4_0 == T__13 )
|
|
266
|
+
alt_4 = 1
|
|
267
|
+
elsif ( look_4_0.between?( T__14, T__15 ) )
|
|
268
|
+
alt_4 = 2
|
|
269
|
+
else
|
|
270
|
+
raise NoViableAlternative( "", 4, 0 )
|
|
271
|
+
end
|
|
272
|
+
case alt_4
|
|
273
|
+
when 1
|
|
274
|
+
# at line 26:25: validation_helper_old_syntax
|
|
275
|
+
@state.following.push( TOKENS_FOLLOWING_validation_helper_old_syntax_IN_validation_helper_78 )
|
|
276
|
+
validation_helper_old_syntax
|
|
277
|
+
@state.following.pop
|
|
278
|
+
|
|
279
|
+
when 2
|
|
280
|
+
# at line 26:56: validation_helper_new_syntax
|
|
281
|
+
@state.following.push( TOKENS_FOLLOWING_validation_helper_new_syntax_IN_validation_helper_82 )
|
|
282
|
+
validation_helper_new_syntax
|
|
283
|
+
@state.following.pop
|
|
284
|
+
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
288
|
+
report_error(re)
|
|
289
|
+
recover(re)
|
|
290
|
+
|
|
291
|
+
ensure
|
|
292
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
293
|
+
# trace_out( __method__, 3 )
|
|
294
|
+
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
return
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
#
|
|
302
|
+
# parser rule validation_helper_old_syntax
|
|
303
|
+
#
|
|
304
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
305
|
+
# 28:1: validation_helper_old_syntax : ':' (a= 'uniqueness' | a= 'presence' ) '=>' ( 'true' | ruby_scope ) ;
|
|
306
|
+
#
|
|
307
|
+
def validation_helper_old_syntax
|
|
308
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
309
|
+
# trace_in( __method__, 4 )
|
|
310
|
+
a = nil
|
|
311
|
+
|
|
312
|
+
begin
|
|
313
|
+
# at line 28:31: ':' (a= 'uniqueness' | a= 'presence' ) '=>' ( 'true' | ruby_scope )
|
|
314
|
+
match( T__13, TOKENS_FOLLOWING_T__13_IN_validation_helper_old_syntax_90 )
|
|
315
|
+
# at line 28:35: (a= 'uniqueness' | a= 'presence' )
|
|
316
|
+
alt_5 = 2
|
|
317
|
+
look_5_0 = @input.peek( 1 )
|
|
318
|
+
|
|
319
|
+
if ( look_5_0 == T__14 )
|
|
320
|
+
alt_5 = 1
|
|
321
|
+
elsif ( look_5_0 == T__15 )
|
|
322
|
+
alt_5 = 2
|
|
323
|
+
else
|
|
324
|
+
raise NoViableAlternative( "", 5, 0 )
|
|
325
|
+
end
|
|
326
|
+
case alt_5
|
|
327
|
+
when 1
|
|
328
|
+
# at line 28:36: a= 'uniqueness'
|
|
329
|
+
a = match( T__14, TOKENS_FOLLOWING_T__14_IN_validation_helper_old_syntax_95 )
|
|
330
|
+
|
|
331
|
+
when 2
|
|
332
|
+
# at line 28:53: a= 'presence'
|
|
333
|
+
a = match( T__15, TOKENS_FOLLOWING_T__15_IN_validation_helper_old_syntax_101 )
|
|
334
|
+
|
|
335
|
+
end
|
|
336
|
+
match( T__16, TOKENS_FOLLOWING_T__16_IN_validation_helper_old_syntax_104 )
|
|
337
|
+
# at line 28:72: ( 'true' | ruby_scope )
|
|
338
|
+
alt_6 = 2
|
|
339
|
+
look_6_0 = @input.peek( 1 )
|
|
340
|
+
|
|
341
|
+
if ( look_6_0 == T__17 )
|
|
342
|
+
alt_6 = 1
|
|
343
|
+
elsif ( look_6_0 == T__18 )
|
|
344
|
+
alt_6 = 2
|
|
345
|
+
else
|
|
346
|
+
raise NoViableAlternative( "", 6, 0 )
|
|
347
|
+
end
|
|
348
|
+
case alt_6
|
|
349
|
+
when 1
|
|
350
|
+
# at line 28:73: 'true'
|
|
351
|
+
match( T__17, TOKENS_FOLLOWING_T__17_IN_validation_helper_old_syntax_107 )
|
|
352
|
+
|
|
353
|
+
when 2
|
|
354
|
+
# at line 28:82: ruby_scope
|
|
355
|
+
@state.following.push( TOKENS_FOLLOWING_ruby_scope_IN_validation_helper_old_syntax_111 )
|
|
356
|
+
ruby_scope
|
|
357
|
+
@state.following.pop
|
|
358
|
+
|
|
359
|
+
end
|
|
360
|
+
# --> action
|
|
361
|
+
@type = a.text
|
|
362
|
+
# <-- action
|
|
363
|
+
|
|
364
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
365
|
+
report_error(re)
|
|
366
|
+
recover(re)
|
|
367
|
+
|
|
368
|
+
ensure
|
|
369
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
370
|
+
# trace_out( __method__, 4 )
|
|
371
|
+
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
return
|
|
375
|
+
end
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
#
|
|
379
|
+
# parser rule validation_helper_new_syntax
|
|
380
|
+
#
|
|
381
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
382
|
+
# 30:1: validation_helper_new_syntax : (a= 'uniqueness' | a= 'presence' ) ':' ( 'true' | ruby_scope ) ;
|
|
383
|
+
#
|
|
384
|
+
def validation_helper_new_syntax
|
|
385
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
386
|
+
# trace_in( __method__, 5 )
|
|
387
|
+
a = nil
|
|
388
|
+
|
|
389
|
+
begin
|
|
390
|
+
# at line 30:31: (a= 'uniqueness' | a= 'presence' ) ':' ( 'true' | ruby_scope )
|
|
391
|
+
# at line 30:31: (a= 'uniqueness' | a= 'presence' )
|
|
392
|
+
alt_7 = 2
|
|
393
|
+
look_7_0 = @input.peek( 1 )
|
|
394
|
+
|
|
395
|
+
if ( look_7_0 == T__14 )
|
|
396
|
+
alt_7 = 1
|
|
397
|
+
elsif ( look_7_0 == T__15 )
|
|
398
|
+
alt_7 = 2
|
|
399
|
+
else
|
|
400
|
+
raise NoViableAlternative( "", 7, 0 )
|
|
401
|
+
end
|
|
402
|
+
case alt_7
|
|
403
|
+
when 1
|
|
404
|
+
# at line 30:32: a= 'uniqueness'
|
|
405
|
+
a = match( T__14, TOKENS_FOLLOWING_T__14_IN_validation_helper_new_syntax_124 )
|
|
406
|
+
|
|
407
|
+
when 2
|
|
408
|
+
# at line 30:49: a= 'presence'
|
|
409
|
+
a = match( T__15, TOKENS_FOLLOWING_T__15_IN_validation_helper_new_syntax_130 )
|
|
410
|
+
|
|
411
|
+
end
|
|
412
|
+
match( T__13, TOKENS_FOLLOWING_T__13_IN_validation_helper_new_syntax_133 )
|
|
413
|
+
# at line 30:67: ( 'true' | ruby_scope )
|
|
414
|
+
alt_8 = 2
|
|
415
|
+
look_8_0 = @input.peek( 1 )
|
|
416
|
+
|
|
417
|
+
if ( look_8_0 == T__17 )
|
|
418
|
+
alt_8 = 1
|
|
419
|
+
elsif ( look_8_0 == T__18 )
|
|
420
|
+
alt_8 = 2
|
|
421
|
+
else
|
|
422
|
+
raise NoViableAlternative( "", 8, 0 )
|
|
423
|
+
end
|
|
424
|
+
case alt_8
|
|
425
|
+
when 1
|
|
426
|
+
# at line 30:68: 'true'
|
|
427
|
+
match( T__17, TOKENS_FOLLOWING_T__17_IN_validation_helper_new_syntax_136 )
|
|
428
|
+
|
|
429
|
+
when 2
|
|
430
|
+
# at line 30:77: ruby_scope
|
|
431
|
+
@state.following.push( TOKENS_FOLLOWING_ruby_scope_IN_validation_helper_new_syntax_140 )
|
|
432
|
+
ruby_scope
|
|
433
|
+
@state.following.pop
|
|
434
|
+
|
|
435
|
+
end
|
|
436
|
+
# --> action
|
|
437
|
+
@type = a.text
|
|
438
|
+
# <-- action
|
|
439
|
+
|
|
440
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
441
|
+
report_error(re)
|
|
442
|
+
recover(re)
|
|
443
|
+
|
|
444
|
+
ensure
|
|
445
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
446
|
+
# trace_out( __method__, 5 )
|
|
447
|
+
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
return
|
|
451
|
+
end
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
#
|
|
455
|
+
# parser rule ruby_scope
|
|
456
|
+
#
|
|
457
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
458
|
+
# 32:1: ruby_scope : '{' ( scope_old_syntax | scope_new_syntax ) '}' ;
|
|
459
|
+
#
|
|
460
|
+
def ruby_scope
|
|
461
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
462
|
+
# trace_in( __method__, 6 )
|
|
463
|
+
|
|
464
|
+
begin
|
|
465
|
+
# at line 32:13: '{' ( scope_old_syntax | scope_new_syntax ) '}'
|
|
466
|
+
match( T__18, TOKENS_FOLLOWING_T__18_IN_ruby_scope_150 )
|
|
467
|
+
# at line 32:17: ( scope_old_syntax | scope_new_syntax )
|
|
468
|
+
alt_9 = 2
|
|
469
|
+
look_9_0 = @input.peek( 1 )
|
|
470
|
+
|
|
471
|
+
if ( look_9_0 == T__13 )
|
|
472
|
+
alt_9 = 1
|
|
473
|
+
elsif ( look_9_0 == T__20 )
|
|
474
|
+
alt_9 = 2
|
|
475
|
+
else
|
|
476
|
+
raise NoViableAlternative( "", 9, 0 )
|
|
477
|
+
end
|
|
478
|
+
case alt_9
|
|
479
|
+
when 1
|
|
480
|
+
# at line 32:18: scope_old_syntax
|
|
481
|
+
@state.following.push( TOKENS_FOLLOWING_scope_old_syntax_IN_ruby_scope_153 )
|
|
482
|
+
scope_old_syntax
|
|
483
|
+
@state.following.pop
|
|
484
|
+
|
|
485
|
+
when 2
|
|
486
|
+
# at line 32:37: scope_new_syntax
|
|
487
|
+
@state.following.push( TOKENS_FOLLOWING_scope_new_syntax_IN_ruby_scope_157 )
|
|
488
|
+
scope_new_syntax
|
|
489
|
+
@state.following.pop
|
|
490
|
+
|
|
491
|
+
end
|
|
492
|
+
match( T__19, TOKENS_FOLLOWING_T__19_IN_ruby_scope_160 )
|
|
493
|
+
|
|
494
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
495
|
+
report_error(re)
|
|
496
|
+
recover(re)
|
|
497
|
+
|
|
498
|
+
ensure
|
|
499
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
500
|
+
# trace_out( __method__, 6 )
|
|
501
|
+
|
|
502
|
+
end
|
|
503
|
+
|
|
504
|
+
return
|
|
505
|
+
end
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
#
|
|
509
|
+
# parser rule scope_old_syntax
|
|
510
|
+
#
|
|
511
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
512
|
+
# 34:1: scope_old_syntax : ':' 'scope' '=>' ( list | list_attribute ) ;
|
|
513
|
+
#
|
|
514
|
+
def scope_old_syntax
|
|
515
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
516
|
+
# trace_in( __method__, 7 )
|
|
517
|
+
|
|
518
|
+
begin
|
|
519
|
+
# at line 34:19: ':' 'scope' '=>' ( list | list_attribute )
|
|
520
|
+
match( T__13, TOKENS_FOLLOWING_T__13_IN_scope_old_syntax_167 )
|
|
521
|
+
match( T__20, TOKENS_FOLLOWING_T__20_IN_scope_old_syntax_169 )
|
|
522
|
+
match( T__16, TOKENS_FOLLOWING_T__16_IN_scope_old_syntax_171 )
|
|
523
|
+
# at line 34:36: ( list | list_attribute )
|
|
524
|
+
alt_10 = 2
|
|
525
|
+
look_10_0 = @input.peek( 1 )
|
|
526
|
+
|
|
527
|
+
if ( look_10_0 == T__21 )
|
|
528
|
+
alt_10 = 1
|
|
529
|
+
elsif ( look_10_0 == T__13 || look_10_0.between?( T__23, T__24 ) )
|
|
530
|
+
alt_10 = 2
|
|
531
|
+
else
|
|
532
|
+
raise NoViableAlternative( "", 10, 0 )
|
|
533
|
+
end
|
|
534
|
+
case alt_10
|
|
535
|
+
when 1
|
|
536
|
+
# at line 34:37: list
|
|
537
|
+
@state.following.push( TOKENS_FOLLOWING_list_IN_scope_old_syntax_174 )
|
|
538
|
+
list
|
|
539
|
+
@state.following.pop
|
|
540
|
+
|
|
541
|
+
when 2
|
|
542
|
+
# at line 34:44: list_attribute
|
|
543
|
+
@state.following.push( TOKENS_FOLLOWING_list_attribute_IN_scope_old_syntax_178 )
|
|
544
|
+
list_attribute
|
|
545
|
+
@state.following.pop
|
|
546
|
+
|
|
547
|
+
end
|
|
548
|
+
|
|
549
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
550
|
+
report_error(re)
|
|
551
|
+
recover(re)
|
|
552
|
+
|
|
553
|
+
ensure
|
|
554
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
555
|
+
# trace_out( __method__, 7 )
|
|
556
|
+
|
|
557
|
+
end
|
|
558
|
+
|
|
559
|
+
return
|
|
560
|
+
end
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
#
|
|
564
|
+
# parser rule scope_new_syntax
|
|
565
|
+
#
|
|
566
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
567
|
+
# 36:1: scope_new_syntax : 'scope' ':' ( list | list_attribute ) ;
|
|
568
|
+
#
|
|
569
|
+
def scope_new_syntax
|
|
570
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
571
|
+
# trace_in( __method__, 8 )
|
|
572
|
+
|
|
573
|
+
begin
|
|
574
|
+
# at line 36:19: 'scope' ':' ( list | list_attribute )
|
|
575
|
+
match( T__20, TOKENS_FOLLOWING_T__20_IN_scope_new_syntax_186 )
|
|
576
|
+
match( T__13, TOKENS_FOLLOWING_T__13_IN_scope_new_syntax_188 )
|
|
577
|
+
# at line 36:31: ( list | list_attribute )
|
|
578
|
+
alt_11 = 2
|
|
579
|
+
look_11_0 = @input.peek( 1 )
|
|
580
|
+
|
|
581
|
+
if ( look_11_0 == T__21 )
|
|
582
|
+
alt_11 = 1
|
|
583
|
+
elsif ( look_11_0 == T__13 || look_11_0.between?( T__23, T__24 ) )
|
|
584
|
+
alt_11 = 2
|
|
585
|
+
else
|
|
586
|
+
raise NoViableAlternative( "", 11, 0 )
|
|
587
|
+
end
|
|
588
|
+
case alt_11
|
|
589
|
+
when 1
|
|
590
|
+
# at line 36:32: list
|
|
591
|
+
@state.following.push( TOKENS_FOLLOWING_list_IN_scope_new_syntax_191 )
|
|
592
|
+
list
|
|
593
|
+
@state.following.pop
|
|
594
|
+
|
|
595
|
+
when 2
|
|
596
|
+
# at line 36:39: list_attribute
|
|
597
|
+
@state.following.push( TOKENS_FOLLOWING_list_attribute_IN_scope_new_syntax_195 )
|
|
598
|
+
list_attribute
|
|
599
|
+
@state.following.pop
|
|
600
|
+
|
|
601
|
+
end
|
|
602
|
+
|
|
603
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
604
|
+
report_error(re)
|
|
605
|
+
recover(re)
|
|
606
|
+
|
|
607
|
+
ensure
|
|
608
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
609
|
+
# trace_out( __method__, 8 )
|
|
610
|
+
|
|
611
|
+
end
|
|
612
|
+
|
|
613
|
+
return
|
|
614
|
+
end
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
#
|
|
618
|
+
# parser rule list
|
|
619
|
+
#
|
|
620
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
621
|
+
# 38:1: list : '[' list_attribute ',' ( list_attribute )* ']' ;
|
|
622
|
+
#
|
|
623
|
+
def list
|
|
624
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
625
|
+
# trace_in( __method__, 9 )
|
|
626
|
+
|
|
627
|
+
begin
|
|
628
|
+
# at line 38:7: '[' list_attribute ',' ( list_attribute )* ']'
|
|
629
|
+
match( T__21, TOKENS_FOLLOWING_T__21_IN_list_203 )
|
|
630
|
+
@state.following.push( TOKENS_FOLLOWING_list_attribute_IN_list_205 )
|
|
631
|
+
list_attribute
|
|
632
|
+
@state.following.pop
|
|
633
|
+
match( T__12, TOKENS_FOLLOWING_T__12_IN_list_207 )
|
|
634
|
+
# at line 38:30: ( list_attribute )*
|
|
635
|
+
while true # decision 12
|
|
636
|
+
alt_12 = 2
|
|
637
|
+
look_12_0 = @input.peek( 1 )
|
|
638
|
+
|
|
639
|
+
if ( look_12_0 == T__13 || look_12_0.between?( T__23, T__24 ) )
|
|
640
|
+
alt_12 = 1
|
|
641
|
+
|
|
642
|
+
end
|
|
643
|
+
case alt_12
|
|
644
|
+
when 1
|
|
645
|
+
# at line 38:30: list_attribute
|
|
646
|
+
@state.following.push( TOKENS_FOLLOWING_list_attribute_IN_list_209 )
|
|
647
|
+
list_attribute
|
|
648
|
+
@state.following.pop
|
|
649
|
+
|
|
650
|
+
else
|
|
651
|
+
break # out of loop for decision 12
|
|
652
|
+
end
|
|
653
|
+
end # loop for decision 12
|
|
654
|
+
match( T__22, TOKENS_FOLLOWING_T__22_IN_list_212 )
|
|
655
|
+
|
|
656
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
657
|
+
report_error(re)
|
|
658
|
+
recover(re)
|
|
659
|
+
|
|
660
|
+
ensure
|
|
661
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
662
|
+
# trace_out( __method__, 9 )
|
|
663
|
+
|
|
664
|
+
end
|
|
665
|
+
|
|
666
|
+
return
|
|
667
|
+
end
|
|
668
|
+
|
|
669
|
+
|
|
670
|
+
#
|
|
671
|
+
# parser rule attribute
|
|
672
|
+
#
|
|
673
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
674
|
+
# 40:1: attribute : ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) );
|
|
675
|
+
#
|
|
676
|
+
def attribute
|
|
677
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
678
|
+
# trace_in( __method__, 10 )
|
|
679
|
+
a = nil
|
|
680
|
+
|
|
681
|
+
begin
|
|
682
|
+
# at line 40:10: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
|
|
683
|
+
alt_13 = 3
|
|
684
|
+
case look_13 = @input.peek( 1 )
|
|
685
|
+
when T__23 then alt_13 = 1
|
|
686
|
+
when T__24 then alt_13 = 2
|
|
687
|
+
when T__13 then alt_13 = 3
|
|
688
|
+
else
|
|
689
|
+
raise NoViableAlternative( "", 13, 0 )
|
|
690
|
+
end
|
|
691
|
+
case alt_13
|
|
692
|
+
when 1
|
|
693
|
+
# at line 40:12: ( '\\'' a= ATTRIBUTE '\\'' )
|
|
694
|
+
# at line 40:12: ( '\\'' a= ATTRIBUTE '\\'' )
|
|
695
|
+
# at line 40:13: '\\'' a= ATTRIBUTE '\\''
|
|
696
|
+
match( T__23, TOKENS_FOLLOWING_T__23_IN_attribute_220 )
|
|
697
|
+
a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_224 )
|
|
698
|
+
match( T__23, TOKENS_FOLLOWING_T__23_IN_attribute_226 )
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
when 2
|
|
702
|
+
# at line 40:38: ( '\"' a= ATTRIBUTE '\"' )
|
|
703
|
+
# at line 40:38: ( '\"' a= ATTRIBUTE '\"' )
|
|
704
|
+
# at line 40:39: '\"' a= ATTRIBUTE '\"'
|
|
705
|
+
match( T__24, TOKENS_FOLLOWING_T__24_IN_attribute_232 )
|
|
706
|
+
a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_236 )
|
|
707
|
+
match( T__24, TOKENS_FOLLOWING_T__24_IN_attribute_238 )
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
when 3
|
|
711
|
+
# at line 40:62: ( ':' a= ATTRIBUTE )
|
|
712
|
+
# at line 40:62: ( ':' a= ATTRIBUTE )
|
|
713
|
+
# at line 40:63: ':' a= ATTRIBUTE
|
|
714
|
+
match( T__13, TOKENS_FOLLOWING_T__13_IN_attribute_244 )
|
|
715
|
+
a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_248 )
|
|
716
|
+
|
|
717
|
+
# --> action
|
|
718
|
+
|
|
719
|
+
@attribute = a.text
|
|
720
|
+
|
|
721
|
+
# <-- action
|
|
722
|
+
|
|
723
|
+
end
|
|
724
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
725
|
+
report_error(re)
|
|
726
|
+
recover(re)
|
|
727
|
+
|
|
728
|
+
ensure
|
|
729
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
730
|
+
# trace_out( __method__, 10 )
|
|
731
|
+
|
|
732
|
+
end
|
|
733
|
+
|
|
734
|
+
return
|
|
735
|
+
end
|
|
736
|
+
|
|
737
|
+
|
|
738
|
+
#
|
|
739
|
+
# parser rule list_attribute
|
|
740
|
+
#
|
|
741
|
+
# (in /Users/rivmeche/Google Drive/vub/_Thesis/code/tripper/lib/tripper/model_parsers/validates/ValidatesParser.g)
|
|
742
|
+
# 46:1: list_attribute : ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) ) ;
|
|
743
|
+
#
|
|
744
|
+
def list_attribute
|
|
745
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
746
|
+
# trace_in( __method__, 11 )
|
|
747
|
+
a = nil
|
|
748
|
+
|
|
749
|
+
begin
|
|
750
|
+
# at line 46:17: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
|
|
751
|
+
# at line 46:17: ( ( '\\'' a= ATTRIBUTE '\\'' ) | ( '\"' a= ATTRIBUTE '\"' ) | ( ':' a= ATTRIBUTE ) )
|
|
752
|
+
alt_14 = 3
|
|
753
|
+
case look_14 = @input.peek( 1 )
|
|
754
|
+
when T__23 then alt_14 = 1
|
|
755
|
+
when T__24 then alt_14 = 2
|
|
756
|
+
when T__13 then alt_14 = 3
|
|
757
|
+
else
|
|
758
|
+
raise NoViableAlternative( "", 14, 0 )
|
|
759
|
+
end
|
|
760
|
+
case alt_14
|
|
761
|
+
when 1
|
|
762
|
+
# at line 46:18: ( '\\'' a= ATTRIBUTE '\\'' )
|
|
763
|
+
# at line 46:18: ( '\\'' a= ATTRIBUTE '\\'' )
|
|
764
|
+
# at line 46:19: '\\'' a= ATTRIBUTE '\\''
|
|
765
|
+
match( T__23, TOKENS_FOLLOWING_T__23_IN_list_attribute_262 )
|
|
766
|
+
a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_list_attribute_266 )
|
|
767
|
+
match( T__23, TOKENS_FOLLOWING_T__23_IN_list_attribute_268 )
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
when 2
|
|
771
|
+
# at line 46:44: ( '\"' a= ATTRIBUTE '\"' )
|
|
772
|
+
# at line 46:44: ( '\"' a= ATTRIBUTE '\"' )
|
|
773
|
+
# at line 46:45: '\"' a= ATTRIBUTE '\"'
|
|
774
|
+
match( T__24, TOKENS_FOLLOWING_T__24_IN_list_attribute_274 )
|
|
775
|
+
a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_list_attribute_278 )
|
|
776
|
+
match( T__24, TOKENS_FOLLOWING_T__24_IN_list_attribute_280 )
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
when 3
|
|
780
|
+
# at line 46:68: ( ':' a= ATTRIBUTE )
|
|
781
|
+
# at line 46:68: ( ':' a= ATTRIBUTE )
|
|
782
|
+
# at line 46:69: ':' a= ATTRIBUTE
|
|
783
|
+
match( T__13, TOKENS_FOLLOWING_T__13_IN_list_attribute_286 )
|
|
784
|
+
a = match( ATTRIBUTE, TOKENS_FOLLOWING_ATTRIBUTE_IN_list_attribute_290 )
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
end
|
|
788
|
+
# --> action
|
|
789
|
+
|
|
790
|
+
@list = [] unless @list
|
|
791
|
+
@list << a.text
|
|
792
|
+
|
|
793
|
+
# <-- action
|
|
794
|
+
|
|
795
|
+
rescue ANTLR3::Error::RecognitionError => re
|
|
796
|
+
report_error(re)
|
|
797
|
+
recover(re)
|
|
798
|
+
|
|
799
|
+
ensure
|
|
800
|
+
# -> uncomment the next line to manually enable rule tracing
|
|
801
|
+
# trace_out( __method__, 11 )
|
|
802
|
+
|
|
803
|
+
end
|
|
804
|
+
|
|
805
|
+
return
|
|
806
|
+
end
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
|
|
810
|
+
TOKENS_FOLLOWING_COMMENT_IN_comment_35 = Set[ 1 ]
|
|
811
|
+
TOKENS_FOLLOWING_COMMENT_IN_validates_50 = Set[ 1, 4 ]
|
|
812
|
+
TOKENS_FOLLOWING_T__11_IN_validates_56 = Set[ 13, 23, 24 ]
|
|
813
|
+
TOKENS_FOLLOWING_attribute_IN_validates_58 = Set[ 12 ]
|
|
814
|
+
TOKENS_FOLLOWING_validation_helper_IN_validates_60 = Set[ 1, 4 ]
|
|
815
|
+
TOKENS_FOLLOWING_comment_IN_validates_62 = Set[ 1 ]
|
|
816
|
+
TOKENS_FOLLOWING_T__12_IN_validation_helper_75 = Set[ 13, 14, 15 ]
|
|
817
|
+
TOKENS_FOLLOWING_validation_helper_old_syntax_IN_validation_helper_78 = Set[ 1 ]
|
|
818
|
+
TOKENS_FOLLOWING_validation_helper_new_syntax_IN_validation_helper_82 = Set[ 1 ]
|
|
819
|
+
TOKENS_FOLLOWING_T__13_IN_validation_helper_old_syntax_90 = Set[ 14, 15 ]
|
|
820
|
+
TOKENS_FOLLOWING_T__14_IN_validation_helper_old_syntax_95 = Set[ 16 ]
|
|
821
|
+
TOKENS_FOLLOWING_T__15_IN_validation_helper_old_syntax_101 = Set[ 16 ]
|
|
822
|
+
TOKENS_FOLLOWING_T__16_IN_validation_helper_old_syntax_104 = Set[ 17, 18 ]
|
|
823
|
+
TOKENS_FOLLOWING_T__17_IN_validation_helper_old_syntax_107 = Set[ 1 ]
|
|
824
|
+
TOKENS_FOLLOWING_ruby_scope_IN_validation_helper_old_syntax_111 = Set[ 1 ]
|
|
825
|
+
TOKENS_FOLLOWING_T__14_IN_validation_helper_new_syntax_124 = Set[ 13 ]
|
|
826
|
+
TOKENS_FOLLOWING_T__15_IN_validation_helper_new_syntax_130 = Set[ 13 ]
|
|
827
|
+
TOKENS_FOLLOWING_T__13_IN_validation_helper_new_syntax_133 = Set[ 17, 18 ]
|
|
828
|
+
TOKENS_FOLLOWING_T__17_IN_validation_helper_new_syntax_136 = Set[ 1 ]
|
|
829
|
+
TOKENS_FOLLOWING_ruby_scope_IN_validation_helper_new_syntax_140 = Set[ 1 ]
|
|
830
|
+
TOKENS_FOLLOWING_T__18_IN_ruby_scope_150 = Set[ 13, 20 ]
|
|
831
|
+
TOKENS_FOLLOWING_scope_old_syntax_IN_ruby_scope_153 = Set[ 19 ]
|
|
832
|
+
TOKENS_FOLLOWING_scope_new_syntax_IN_ruby_scope_157 = Set[ 19 ]
|
|
833
|
+
TOKENS_FOLLOWING_T__19_IN_ruby_scope_160 = Set[ 1 ]
|
|
834
|
+
TOKENS_FOLLOWING_T__13_IN_scope_old_syntax_167 = Set[ 20 ]
|
|
835
|
+
TOKENS_FOLLOWING_T__20_IN_scope_old_syntax_169 = Set[ 16 ]
|
|
836
|
+
TOKENS_FOLLOWING_T__16_IN_scope_old_syntax_171 = Set[ 13, 21, 23, 24 ]
|
|
837
|
+
TOKENS_FOLLOWING_list_IN_scope_old_syntax_174 = Set[ 1 ]
|
|
838
|
+
TOKENS_FOLLOWING_list_attribute_IN_scope_old_syntax_178 = Set[ 1 ]
|
|
839
|
+
TOKENS_FOLLOWING_T__20_IN_scope_new_syntax_186 = Set[ 13 ]
|
|
840
|
+
TOKENS_FOLLOWING_T__13_IN_scope_new_syntax_188 = Set[ 13, 21, 23, 24 ]
|
|
841
|
+
TOKENS_FOLLOWING_list_IN_scope_new_syntax_191 = Set[ 1 ]
|
|
842
|
+
TOKENS_FOLLOWING_list_attribute_IN_scope_new_syntax_195 = Set[ 1 ]
|
|
843
|
+
TOKENS_FOLLOWING_T__21_IN_list_203 = Set[ 13, 21, 23, 24 ]
|
|
844
|
+
TOKENS_FOLLOWING_list_attribute_IN_list_205 = Set[ 12 ]
|
|
845
|
+
TOKENS_FOLLOWING_T__12_IN_list_207 = Set[ 13, 21, 22, 23, 24 ]
|
|
846
|
+
TOKENS_FOLLOWING_list_attribute_IN_list_209 = Set[ 13, 21, 22, 23, 24 ]
|
|
847
|
+
TOKENS_FOLLOWING_T__22_IN_list_212 = Set[ 1 ]
|
|
848
|
+
TOKENS_FOLLOWING_T__23_IN_attribute_220 = Set[ 5 ]
|
|
849
|
+
TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_224 = Set[ 23 ]
|
|
850
|
+
TOKENS_FOLLOWING_T__23_IN_attribute_226 = Set[ 1 ]
|
|
851
|
+
TOKENS_FOLLOWING_T__24_IN_attribute_232 = Set[ 5 ]
|
|
852
|
+
TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_236 = Set[ 24 ]
|
|
853
|
+
TOKENS_FOLLOWING_T__24_IN_attribute_238 = Set[ 1 ]
|
|
854
|
+
TOKENS_FOLLOWING_T__13_IN_attribute_244 = Set[ 5 ]
|
|
855
|
+
TOKENS_FOLLOWING_ATTRIBUTE_IN_attribute_248 = Set[ 1 ]
|
|
856
|
+
TOKENS_FOLLOWING_T__23_IN_list_attribute_262 = Set[ 5 ]
|
|
857
|
+
TOKENS_FOLLOWING_ATTRIBUTE_IN_list_attribute_266 = Set[ 23 ]
|
|
858
|
+
TOKENS_FOLLOWING_T__23_IN_list_attribute_268 = Set[ 1 ]
|
|
859
|
+
TOKENS_FOLLOWING_T__24_IN_list_attribute_274 = Set[ 5 ]
|
|
860
|
+
TOKENS_FOLLOWING_ATTRIBUTE_IN_list_attribute_278 = Set[ 24 ]
|
|
861
|
+
TOKENS_FOLLOWING_T__24_IN_list_attribute_280 = Set[ 1 ]
|
|
862
|
+
TOKENS_FOLLOWING_T__13_IN_list_attribute_286 = Set[ 5 ]
|
|
863
|
+
TOKENS_FOLLOWING_ATTRIBUTE_IN_list_attribute_290 = Set[ 1 ]
|
|
864
|
+
|
|
865
|
+
end # class Parser < ANTLR3::Parser
|
|
866
|
+
|
|
867
|
+
at_exit { Parser.main( ARGV ) } if __FILE__ == $0
|
|
868
|
+
end
|
|
869
|
+
|