italian-ruby 0.1.2

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.
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyParserStuff
4
+ class Keyword
5
+ expr_woot = EXPR_FNAME|EXPR_FITEM
6
+
7
+ italian_wordlist = [
8
+ ["alias", [:kALIAS, :kALIAS ], expr_woot ],
9
+ ["e", [:kAND, :kAND ], EXPR_BEG ],
10
+ ["inizia", [:kBEGIN, :kBEGIN ], EXPR_BEG ],
11
+ ["esci", [:kBREAK, :kBREAK ], EXPR_MID ],
12
+ ["considera", [:kCASE, :kCASE ], EXPR_BEG ],
13
+ ["classe", [:kCLASS, :kCLASS ], EXPR_CLASS ],
14
+ ["def", [:kDEF, :kDEF ], EXPR_FNAME ],
15
+ ["definisci", [:kDEF, :kDEF ], EXPR_FNAME ],
16
+ ["definito?", [:kDEFINED, :kDEFINED ], EXPR_ARG ],
17
+ ["definita?", [:kDEFINED, :kDEFINED ], EXPR_ARG ],
18
+ ["esegui", [:kDO, :kDO ], EXPR_BEG ],
19
+ ["fai", [:kDO, :kDO ], EXPR_BEG ],
20
+ ["altrimenti", [:kELSE, :kELSE ], EXPR_BEG ],
21
+ ["altrimenti_se", [:kELSIF, :kELSIF ], EXPR_BEG ],
22
+ ["fine", [:kEND, :kEND ], EXPR_END ],
23
+ ["assicura", [:kENSURE, :kENSURE ], EXPR_BEG ],
24
+ ["no", [:kFALSE, :kFALSE ], EXPR_END ],
25
+ ["falso", [:kFALSE, :kFALSE ], EXPR_END ],
26
+ ["per", [:kFOR, :kFOR ], EXPR_BEG ],
27
+ ["se", [:kIF, :kIF_MOD ], EXPR_BEG ],
28
+ ["in", [:kIN, :kIN ], EXPR_BEG ],
29
+ ["modulo", [:kMODULE, :kMODULE ], EXPR_BEG ],
30
+ ["prossimo", [:kNEXT, :kNEXT ], EXPR_MID ],
31
+ ["prossima", [:kNEXT, :kNEXT ], EXPR_MID ],
32
+ ["nullo", [:kNIL, :kNIL ], EXPR_END ],
33
+ ["nulla", [:kNIL, :kNIL ], EXPR_END ],
34
+ ["non", [:kNOT, :kNOT ], EXPR_ARG ],
35
+ ["o", [:kOR, :kOR ], EXPR_BEG ],
36
+ ["rifai", [:kREDO, :kREDO ], EXPR_END ],
37
+ ["riesegui", [:kREDO, :kREDO ], EXPR_END ],
38
+ ["recupera", [:kRESCUE, :kRESCUE_MOD ], EXPR_MID ],
39
+ ["riprova", [:kRETRY, :kRETRY ], EXPR_END ],
40
+ ["ritorna", [:kRETURN, :kRETURN ], EXPR_MID ],
41
+ ["istanza", [:kSELF, :kSELF ], EXPR_END ],
42
+ ["se_stesso", [:kSELF, :kSELF ], EXPR_END ],
43
+ ["se_stessa", [:kSELF, :kSELF ], EXPR_END ],
44
+ ["super", [:kSUPER, :kSUPER ], EXPR_ARG ],
45
+ ["allora", [:kTHEN, :kTHEN ], EXPR_BEG ],
46
+ ["si", [:kTRUE, :kTRUE ], EXPR_END ],
47
+ ["vero", [:kTRUE, :kTRUE ], EXPR_END ],
48
+ ["undef", [:kUNDEF, :kUNDEF ], expr_woot ],
49
+ ["a_meno_che", [:kUNLESS, :kUNLESS_MOD ], EXPR_BEG ],
50
+ ["finché", [:kUNTIL, :kUNTIL_MOD ], EXPR_BEG ],
51
+ ["quando", [:kWHEN, :kWHEN ], EXPR_BEG ],
52
+ ["mentre", [:kWHILE, :kWHILE_MOD ], EXPR_BEG ],
53
+ ["rilascia", [:kYIELD, :kYIELD ], EXPR_ARG ],
54
+ ["INIZIA", [:klBEGIN, :klBEGIN ], EXPR_END ],
55
+ ["FINE", [:klEND, :klEND ], EXPR_END ],
56
+ ["__FILE__", [:k__FILE__, :k__FILE__ ], EXPR_END ],
57
+ ["__LINE__", [:k__LINE__, :k__LINE__ ], EXPR_END ],
58
+ ["__ENCODING__", [:k__ENCODING__, :k__ENCODING__], EXPR_END],
59
+ ].map { |args| KWtable.new(*args) }
60
+
61
+ ITALIAN_WORDLIST = Hash[*italian_wordlist.map { |o| [o.name, o] }.flatten]
62
+
63
+ def self.keyword str
64
+ ITALIAN_WORDLIST[str]
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+ require "ruby2ruby"
3
+ require "ruby_parser"
4
+ require_relative "ruby_parser_patches"
5
+
6
+ module Italian
7
+ module Ruby
8
+ class Traduttore
9
+
10
+ class << self
11
+
12
+ def traduci(file)
13
+ begin
14
+ @@ruby2ruby ||= Ruby2Ruby.new
15
+ @@parser ||= RubyParser.new
16
+
17
+ codice = File.read file
18
+ sexp = @@parser.process("# encoding: utf-8\n#{codice}")
19
+ codice_ruby = @@ruby2ruby.process(sexp)
20
+
21
+ "# encoding: utf-8\n#{codice_ruby}"
22
+ rescue StandardError => error
23
+ raise "Errore nella traduzione del file #{file}.\n"\
24
+ "#{error.message}\n#{error.backtrace.join("\n")}"
25
+ end
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,5 @@
1
+ module Italian
2
+ module Ruby
3
+ VERSION = "0.1.2"
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ require "italian/ruby/version"
2
+ require "italian/ruby/traduttore"
3
+ require "italian/ruby/core_ext"
4
+
5
+ module Italian
6
+ module Ruby
7
+ end
8
+ end