bcdice 3.0.0.pre.alpha.2 → 3.0.0.pre.rc.1
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 +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +1 -0
- data/i18n/KillDeathBusiness/ja_jp.yml +4 -4
- data/i18n/KillDeathBusiness/ko_kr.yml +5 -4
- data/i18n/MagicaLogia/ko_kr.yml +564 -0
- data/i18n/MonotoneMuseum/ja_jp.yml +37 -1
- data/i18n/StratoShout/ja_jp.yml +4 -4
- data/i18n/StratoShout/ko_kr.yml +4 -4
- data/lib/bcdice.rb +2 -1
- data/lib/bcdice/arithmetic.rb +22 -0
- data/lib/bcdice/arithmetic/node.rb +112 -43
- data/lib/bcdice/arithmetic/parser.rb +240 -0
- data/lib/bcdice/arithmetic_evaluator.rb +5 -156
- data/lib/bcdice/base.rb +8 -1
- data/lib/bcdice/command/lexer.rb +57 -0
- data/lib/bcdice/command/parsed.rb +65 -0
- data/lib/bcdice/command/parser.rb +489 -0
- data/lib/bcdice/common_command/add_dice.rb +1 -1
- data/lib/bcdice/common_command/add_dice/node.rb +142 -69
- data/lib/bcdice/common_command/add_dice/parser.rb +100 -83
- data/lib/bcdice/common_command/barabara_dice/node.rb +7 -1
- data/lib/bcdice/common_command/barabara_dice/result.rb +22 -0
- data/lib/bcdice/common_command/calc/node.rb +10 -1
- data/lib/bcdice/common_command/calc/parser.rb +1 -1
- data/lib/bcdice/common_command/d66_dice.rb +3 -1
- data/lib/bcdice/common_command/lexer.rb +2 -1
- data/lib/bcdice/common_command/upper_dice/parser.rb +118 -97
- data/lib/bcdice/common_command/version.rb +1 -1
- data/lib/bcdice/deprecated/checker.rb +6 -6
- data/lib/bcdice/dice_table.rb +1 -0
- data/lib/bcdice/dice_table/d66_parity_table.rb +34 -0
- data/lib/bcdice/game_system.rb +3 -0
- data/lib/bcdice/game_system/AceKillerGene.rb +1 -1
- data/lib/bcdice/game_system/AlchemiaStruggle.rb +312 -0
- data/lib/bcdice/game_system/Alshard.rb +0 -1
- data/lib/bcdice/game_system/Amadeus.rb +1 -1
- data/lib/bcdice/game_system/AnimaAnimus.rb +1 -5
- data/lib/bcdice/game_system/BadLife.rb +1 -1
- data/lib/bcdice/game_system/BeastBindTrinity.rb +1 -10
- data/lib/bcdice/game_system/BeginningIdol.rb +4 -4
- data/lib/bcdice/game_system/BeginningIdol_Korean.rb +4 -4
- data/lib/bcdice/game_system/BladeOfArcana.rb +4 -4
- data/lib/bcdice/game_system/BlindMythos.rb +12 -9
- data/lib/bcdice/game_system/BloodCrusade.rb +12 -38
- data/lib/bcdice/game_system/BloodMoon.rb +2 -2
- data/lib/bcdice/game_system/CardRanker.rb +23 -63
- data/lib/bcdice/game_system/ChaosFlare.rb +3 -3
- data/lib/bcdice/game_system/CodeLayerd.rb +1 -1
- data/lib/bcdice/game_system/ColossalHunter.rb +2 -2
- data/lib/bcdice/game_system/Cthulhu7th.rb +2 -2
- data/lib/bcdice/game_system/CthulhuTech.rb +0 -1
- data/lib/bcdice/game_system/DarkBlaze.rb +4 -4
- data/lib/bcdice/game_system/DeadlineHeroes.rb +1 -1
- data/lib/bcdice/game_system/DoubleCross.rb +60 -93
- data/lib/bcdice/game_system/EmbryoMachine.rb +5 -5
- data/lib/bcdice/game_system/EtrianOdysseySRS.rb +0 -1
- data/lib/bcdice/game_system/FilledWith.rb +3 -3
- data/lib/bcdice/game_system/FullMetalPanic.rb +0 -1
- data/lib/bcdice/game_system/GURPS.rb +1 -1
- data/lib/bcdice/game_system/Garako.rb +3 -2
- data/lib/bcdice/game_system/GardenOrder.rb +1 -1
- data/lib/bcdice/game_system/GehennaAn.rb +3 -3
- data/lib/bcdice/game_system/Gundog.rb +1 -1
- data/lib/bcdice/game_system/GundogRevised.rb +3 -3
- data/lib/bcdice/game_system/GundogZero.rb +2 -2
- data/lib/bcdice/game_system/GurpsFW.rb +2 -5
- data/lib/bcdice/game_system/HatsuneMiku.rb +1 -1
- data/lib/bcdice/game_system/HuntersMoon.rb +17 -110
- data/lib/bcdice/game_system/JuinKansen.rb +251 -0
- data/lib/bcdice/game_system/KanColle.rb +17 -166
- data/lib/bcdice/game_system/KillDeathBusiness.rb +35 -44
- data/lib/bcdice/game_system/KillDeathBusiness_Korean.rb +2 -1
- data/lib/bcdice/game_system/LogHorizon.rb +8 -8
- data/lib/bcdice/game_system/LostRoyal.rb +1 -3
- data/lib/bcdice/game_system/MagicaLogia.rb +3 -3
- data/lib/bcdice/game_system/MagicaLogia_Korean.rb +66 -0
- data/lib/bcdice/game_system/MeikyuDays.rb +1 -1
- data/lib/bcdice/game_system/MeikyuKingdom.rb +1 -1
- data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +1 -1
- data/lib/bcdice/game_system/MetalHeadExtream.rb +4 -4
- data/lib/bcdice/game_system/MetallicGuardian.rb +0 -1
- data/lib/bcdice/game_system/MonotoneMuseum.rb +3 -2
- data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +1 -1
- data/lib/bcdice/game_system/NSSQ.rb +2 -2
- data/lib/bcdice/game_system/Nechronica.rb +3 -3
- data/lib/bcdice/game_system/NightWizard.rb +1 -1
- data/lib/bcdice/game_system/NightmareHunterDeep.rb +3 -4
- data/lib/bcdice/game_system/NinjaSlayer.rb +26 -28
- data/lib/bcdice/game_system/OracleEngine.rb +13 -17
- data/lib/bcdice/game_system/Paradiso.rb +2 -2
- data/lib/bcdice/game_system/PhantasmAdventure.rb +0 -4
- data/lib/bcdice/game_system/Raisondetre.rb +1 -1
- data/lib/bcdice/game_system/RecordOfLodossWar.rb +2 -3
- data/lib/bcdice/game_system/RokumonSekai2.rb +2 -2
- data/lib/bcdice/game_system/RuinBreakers.rb +1 -1
- data/lib/bcdice/game_system/Ryutama.rb +1 -1
- data/lib/bcdice/game_system/SRS.rb +0 -5
- data/lib/bcdice/game_system/SamsaraBallad.rb +4 -3
- data/lib/bcdice/game_system/Satasupe.rb +22 -14
- data/lib/bcdice/game_system/ScreamHighSchool.rb +2 -2
- data/lib/bcdice/game_system/ShinkuuGakuen.rb +1 -1
- data/lib/bcdice/game_system/ShinobiGami.rb +75 -39
- data/lib/bcdice/game_system/StellarKnights.rb +1 -3
- data/lib/bcdice/game_system/SterileLife.rb +1 -1
- data/lib/bcdice/game_system/StrangerOfSwordCity.rb +1 -1
- data/lib/bcdice/game_system/StratoShout.rb +10 -36
- data/lib/bcdice/game_system/StratoShout_Korean.rb +2 -1
- data/lib/bcdice/game_system/SwordWorld.rb +5 -5
- data/lib/bcdice/game_system/SwordWorld2_5.rb +1 -1
- data/lib/bcdice/game_system/TherapieSein.rb +2 -2
- data/lib/bcdice/game_system/TokumeiTenkousei.rb +2 -2
- data/lib/bcdice/game_system/Torg.rb +1 -1
- data/lib/bcdice/game_system/TorgEternity.rb +4 -7
- data/lib/bcdice/game_system/TrinitySeven.rb +2 -2
- data/lib/bcdice/game_system/TunnelsAndTrolls.rb +6 -6
- data/lib/bcdice/game_system/TwilightGunsmoke.rb +1 -1
- data/lib/bcdice/game_system/Utakaze.rb +1 -1
- data/lib/bcdice/game_system/Warhammer.rb +6 -6
- data/lib/bcdice/game_system/Warhammer4.rb +9 -12
- data/lib/bcdice/game_system/ZettaiReido.rb +1 -1
- data/lib/bcdice/normalize.rb +1 -1
- data/lib/bcdice/preprocessor.rb +12 -8
- data/lib/bcdice/randomizer.rb +12 -0
- data/lib/bcdice/repl.rb +1 -1
- data/lib/bcdice/result.rb +2 -0
- data/lib/bcdice/user_defined_dice_table.rb +26 -15
- data/lib/bcdice/version.rb +1 -1
- metadata +14 -25
- data/.editorconfig +0 -21
- data/.github/.codecov.yaml +0 -10
- data/.github/workflows/coverage.yaml +0 -21
- data/.github/workflows/lint.yaml +0 -13
- data/.github/workflows/test.yml +0 -20
- data/.gitignore +0 -14
- data/.rubocop.yml +0 -108
- data/.rubocop_todo.yml +0 -114
- data/Gemfile +0 -14
- data/ROADMAP.md +0 -30
- data/Rakefile +0 -152
- data/bcdice.gemspec +0 -29
- data/bin/repl.rb +0 -21
- data/docs/README.txt +0 -2028
- data/docs/dicebot_sort_key.md +0 -72
- data/docs/how_to_make_dicebot.md +0 -453
- data/lib/bcdice/command_parser.rb +0 -242
- data/lib/bcdice/common_command/add_dice/parser.y +0 -153
- data/lib/bcdice/common_command/barabara_dice/parser.y +0 -107
- data/lib/bcdice/common_command/calc/parser.y +0 -79
- data/lib/bcdice/common_command/reroll_dice/parser.y +0 -158
- data/lib/bcdice/common_command/upper_dice/parser.y +0 -143
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require "bcdice/format"
|
|
2
|
+
require "bcdice/common_command/barabara_dice/result"
|
|
2
3
|
|
|
3
4
|
module BCDice
|
|
4
5
|
module CommonCommand
|
|
@@ -12,7 +13,9 @@ module BCDice
|
|
|
12
13
|
@target_number = target_number
|
|
13
14
|
end
|
|
14
15
|
|
|
15
|
-
# @
|
|
16
|
+
# @param game_system [Base] ゲームシステム
|
|
17
|
+
# @param randomizer [Randomizer] ランダマイザ
|
|
18
|
+
# @return [Result]
|
|
16
19
|
def eval(game_system, randomizer)
|
|
17
20
|
round_type = game_system.round_type
|
|
18
21
|
notations = @notations.map { |n| n.to_dice(round_type) }
|
|
@@ -38,6 +41,9 @@ module BCDice
|
|
|
38
41
|
Result.new.tap do |r|
|
|
39
42
|
r.secret = @secret
|
|
40
43
|
r.text = sequence.join(" > ")
|
|
44
|
+
r.rands = randomizer.rand_results
|
|
45
|
+
r.detailed_rands = randomizer.detailed_rand_results
|
|
46
|
+
r.success_num = success_num
|
|
41
47
|
end
|
|
42
48
|
end
|
|
43
49
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "bcdice/result"
|
|
4
|
+
|
|
5
|
+
module BCDice
|
|
6
|
+
module CommonCommand
|
|
7
|
+
module BarabaraDice
|
|
8
|
+
# バラバラロールの結果を表すクラス
|
|
9
|
+
class Result < ::BCDice::Result
|
|
10
|
+
# @return [Integer] 成功数
|
|
11
|
+
attr_accessor :success_num
|
|
12
|
+
|
|
13
|
+
# @param text [String, nil] 結果の文章
|
|
14
|
+
def initialize(text = nil)
|
|
15
|
+
super(text)
|
|
16
|
+
|
|
17
|
+
@success_num = 0
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require "bcdice/arithmetic/node"
|
|
4
|
+
|
|
3
5
|
module BCDice
|
|
4
6
|
module CommonCommand
|
|
5
7
|
module Calc
|
|
@@ -18,9 +20,16 @@ module BCDice
|
|
|
18
20
|
"ゼロ除算が発生したため計算できませんでした"
|
|
19
21
|
end
|
|
20
22
|
|
|
23
|
+
output =
|
|
24
|
+
if @expr.is_a?(Arithmetic::Node::Parenthesis)
|
|
25
|
+
@expr.output
|
|
26
|
+
else
|
|
27
|
+
"(#{@expr.output})"
|
|
28
|
+
end
|
|
29
|
+
|
|
21
30
|
Result.new.tap do |r|
|
|
22
31
|
r.secret = @secret
|
|
23
|
-
r.text = "
|
|
32
|
+
r.text = "c#{output} > #{value}"
|
|
24
33
|
end
|
|
25
34
|
end
|
|
26
35
|
end
|
|
@@ -18,7 +18,7 @@ module BCDice
|
|
|
18
18
|
def parse(command, game_system)
|
|
19
19
|
command = command.split(" ", 2).first
|
|
20
20
|
|
|
21
|
-
m = /^(S)?D66([
|
|
21
|
+
m = /^(S)?D66([ANSD])?$/i.match(command)
|
|
22
22
|
return nil unless m
|
|
23
23
|
|
|
24
24
|
new(
|
|
@@ -32,6 +32,8 @@ module BCDice
|
|
|
32
32
|
case suffix
|
|
33
33
|
when "A", "S"
|
|
34
34
|
D66SortType::ASC
|
|
35
|
+
when "D"
|
|
36
|
+
D66SortType::DESC
|
|
35
37
|
when "N"
|
|
36
38
|
D66SortType::NO_SORT
|
|
37
39
|
end
|
|
@@ -36,64 +36,66 @@ end
|
|
|
36
36
|
##### State transition tables begin ###
|
|
37
37
|
|
|
38
38
|
racc_action_table = [
|
|
39
|
-
9, 9,
|
|
40
|
-
8, 8,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
9,
|
|
44
|
-
8,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
9, 9, 36, 37, 3, 9, 9, 21, 22, 49,
|
|
40
|
+
8, 8, 21, 22, 9, 8, 8, 14, 15, 9,
|
|
41
|
+
21, 22, 4, 16, 8, 21, 22, 9, 10, 8,
|
|
42
|
+
36, 37, 9, 21, 22, 38, 17, 8, 21, 22,
|
|
43
|
+
9, 25, 8, 27, 15, 9, 21, 22, 28, 29,
|
|
44
|
+
8, 21, 22, 9, 44, 8, 39, 40, 9, 21,
|
|
45
|
+
22, 39, 40, 8, 21, 22, 9, 25, 8, 39,
|
|
46
|
+
40, 9, 21, 22, 36, 37, 8, 21, 22, 9,
|
|
47
|
+
17, 8, 39, 40, 9, 21, 22, 39, 40, 8,
|
|
48
|
+
21, 22, 9, nil, 8, 39, 40, nil, 21, 22,
|
|
49
|
+
39, 40, 8, 58, 56, 57, 59, 36, 37 ]
|
|
49
50
|
|
|
50
51
|
racc_action_check = [
|
|
51
|
-
2, 8,
|
|
52
|
-
2, 8,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
2, 8, 34, 34, 0, 17, 14, 8, 8, 34,
|
|
53
|
+
2, 8, 14, 14, 15, 17, 14, 5, 5, 16,
|
|
54
|
+
15, 15, 1, 5, 15, 16, 16, 21, 4, 16,
|
|
55
|
+
18, 18, 22, 21, 21, 18, 7, 21, 22, 22,
|
|
56
|
+
25, 11, 22, 12, 12, 27, 25, 25, 13, 13,
|
|
57
|
+
25, 27, 27, 28, 24, 27, 19, 19, 29, 28,
|
|
58
|
+
28, 30, 30, 28, 29, 29, 36, 26, 29, 33,
|
|
59
|
+
33, 37, 36, 36, 45, 45, 36, 37, 37, 39,
|
|
60
|
+
32, 37, 47, 47, 40, 39, 39, 48, 48, 39,
|
|
61
|
+
40, 40, 44, nil, 40, 50, 50, nil, 44, 44,
|
|
62
|
+
51, 51, 44, 53, 53, 53, 53, 54, 54 ]
|
|
61
63
|
|
|
62
64
|
racc_action_pointer = [
|
|
63
65
|
-3, 22, -2, nil, 28, 9, nil, 32, -1, nil,
|
|
64
|
-
nil, 20, 35, 4, 12, 17, 3, 22,
|
|
65
|
-
25, 30, nil, 34, 38, 46, 43,
|
|
66
|
-
|
|
67
|
-
nil,
|
|
68
|
-
nil, nil, nil, nil, nil ]
|
|
66
|
+
nil, 20, 35, 40, 4, 12, 17, 3, 22, 46,
|
|
67
|
+
nil, 25, 30, nil, 34, 38, 46, 43, 51, 56,
|
|
68
|
+
51, nil, 76, 59, -6, nil, 64, 69, nil, 77,
|
|
69
|
+
82, nil, nil, nil, 90, 66, nil, 72, 77, nil,
|
|
70
|
+
85, 90, nil, 100, 99, nil, nil, nil, nil, nil ]
|
|
69
71
|
|
|
70
72
|
racc_action_default = [
|
|
71
|
-
-4, -
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
-8, -
|
|
75
|
-
|
|
76
|
-
-20, -23, -
|
|
73
|
+
-4, -35, -35, -5, -35, -6, -17, -35, -35, -34,
|
|
74
|
+
60, -12, -6, -7, -35, -35, -35, -35, -35, -21,
|
|
75
|
+
-24, -35, -35, -32, -1, -35, -12, -35, -35, -35,
|
|
76
|
+
-8, -16, -32, -9, -35, -18, -35, -35, -33, -35,
|
|
77
|
+
-35, -30, -31, -3, -35, -13, -2, -10, -11, -14,
|
|
78
|
+
-19, -20, -22, -25, -15, -23, -26, -27, -28, -29 ]
|
|
77
79
|
|
|
78
80
|
racc_goto_table = [
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
nil, nil, nil,
|
|
81
|
+
18, 30, 33, 41, 42, 24, 6, 1, 34, 2,
|
|
82
|
+
5, 12, 11, 7, 30, 47, 48, 45, 31, 26,
|
|
83
|
+
46, 52, 53, 50, 51, 32, 43, 55, 35, nil,
|
|
84
|
+
nil, nil, nil, nil, nil, nil, 54 ]
|
|
83
85
|
|
|
84
86
|
racc_goto_check = [
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
nil, nil, nil,
|
|
87
|
+
10, 9, 9, 13, 13, 5, 11, 1, 10, 2,
|
|
88
|
+
3, 6, 4, 12, 9, 9, 9, 10, 11, 4,
|
|
89
|
+
5, 13, 13, 9, 9, 12, 7, 14, 12, nil,
|
|
90
|
+
nil, nil, nil, nil, nil, nil, 10 ]
|
|
89
91
|
|
|
90
92
|
racc_goto_pointer = [
|
|
91
|
-
nil,
|
|
92
|
-
|
|
93
|
+
nil, 7, 9, 8, 7, -6, 6, 2, nil, -13,
|
|
94
|
+
-8, 4, 11, -18, -26 ]
|
|
93
95
|
|
|
94
96
|
racc_goto_default = [
|
|
95
|
-
nil, nil, nil, nil, nil, nil, nil, nil,
|
|
96
|
-
|
|
97
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 13, 19,
|
|
98
|
+
nil, nil, 23, 20, nil ]
|
|
97
99
|
|
|
98
100
|
racc_reduce_table = [
|
|
99
101
|
0, 0, :racc_error,
|
|
@@ -103,35 +105,38 @@ racc_reduce_table = [
|
|
|
103
105
|
0, 24, :_reduce_4,
|
|
104
106
|
1, 24, :_reduce_5,
|
|
105
107
|
0, 26, :_reduce_6,
|
|
106
|
-
|
|
107
|
-
2,
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
3,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
3,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
3,
|
|
119
|
-
|
|
120
|
-
1,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
1,
|
|
124
|
-
|
|
125
|
-
1,
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
1,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
108
|
+
1, 26, :_reduce_7,
|
|
109
|
+
2, 30, :_reduce_8,
|
|
110
|
+
2, 30, :_reduce_9,
|
|
111
|
+
3, 30, :_reduce_10,
|
|
112
|
+
3, 30, :_reduce_11,
|
|
113
|
+
0, 27, :_reduce_12,
|
|
114
|
+
2, 27, :_reduce_13,
|
|
115
|
+
3, 28, :_reduce_14,
|
|
116
|
+
2, 29, :_reduce_15,
|
|
117
|
+
3, 25, :_reduce_16,
|
|
118
|
+
1, 25, :_reduce_17,
|
|
119
|
+
3, 33, :_reduce_18,
|
|
120
|
+
3, 32, :_reduce_19,
|
|
121
|
+
3, 32, :_reduce_20,
|
|
122
|
+
1, 32, :_reduce_none,
|
|
123
|
+
3, 31, :_reduce_22,
|
|
124
|
+
4, 31, :_reduce_23,
|
|
125
|
+
1, 31, :_reduce_none,
|
|
126
|
+
0, 36, :_reduce_25,
|
|
127
|
+
1, 36, :_reduce_26,
|
|
128
|
+
1, 36, :_reduce_27,
|
|
129
|
+
1, 36, :_reduce_28,
|
|
130
|
+
1, 36, :_reduce_29,
|
|
131
|
+
2, 35, :_reduce_30,
|
|
132
|
+
2, 35, :_reduce_31,
|
|
133
|
+
1, 35, :_reduce_none,
|
|
134
|
+
3, 34, :_reduce_33,
|
|
135
|
+
1, 34, :_reduce_34 ]
|
|
136
|
+
|
|
137
|
+
racc_reduce_n = 35
|
|
138
|
+
|
|
139
|
+
racc_shift_n = 60
|
|
135
140
|
|
|
136
141
|
racc_token_table = {
|
|
137
142
|
false => 0,
|
|
@@ -208,10 +213,11 @@ Racc_token_to_s_table = [
|
|
|
208
213
|
"target",
|
|
209
214
|
"bracket",
|
|
210
215
|
"at",
|
|
216
|
+
"modifier_expr",
|
|
217
|
+
"mul",
|
|
211
218
|
"add",
|
|
212
219
|
"dice",
|
|
213
220
|
"term",
|
|
214
|
-
"mul",
|
|
215
221
|
"unary",
|
|
216
222
|
"round_type" ]
|
|
217
223
|
|
|
@@ -275,21 +281,36 @@ def _reduce_6(val, _values, result)
|
|
|
275
281
|
end
|
|
276
282
|
|
|
277
283
|
def _reduce_7(val, _values, result)
|
|
278
|
-
result = val[
|
|
284
|
+
result = val[0]
|
|
279
285
|
result
|
|
280
286
|
end
|
|
281
287
|
|
|
282
288
|
def _reduce_8(val, _values, result)
|
|
283
|
-
result =
|
|
289
|
+
result = val[1]
|
|
284
290
|
result
|
|
285
291
|
end
|
|
286
292
|
|
|
287
293
|
def _reduce_9(val, _values, result)
|
|
288
|
-
result =
|
|
294
|
+
result = Arithmetic::Node::Negative.new(val[1])
|
|
289
295
|
result
|
|
290
296
|
end
|
|
291
297
|
|
|
292
298
|
def _reduce_10(val, _values, result)
|
|
299
|
+
result = Arithmetic::Node::BinaryOp.new(val[0], :+, val[2])
|
|
300
|
+
result
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
def _reduce_11(val, _values, result)
|
|
304
|
+
result = Arithmetic::Node::BinaryOp.new(val[0], :-, val[2])
|
|
305
|
+
result
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
def _reduce_12(val, _values, result)
|
|
309
|
+
result = {}
|
|
310
|
+
result
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
def _reduce_13(val, _values, result)
|
|
293
314
|
cmp_op, target = val
|
|
294
315
|
raise ParseError unless cmp_op
|
|
295
316
|
|
|
@@ -298,17 +319,17 @@ def _reduce_10(val, _values, result)
|
|
|
298
319
|
result
|
|
299
320
|
end
|
|
300
321
|
|
|
301
|
-
def
|
|
322
|
+
def _reduce_14(val, _values, result)
|
|
302
323
|
result = val[1]
|
|
303
324
|
result
|
|
304
325
|
end
|
|
305
326
|
|
|
306
|
-
def
|
|
327
|
+
def _reduce_15(val, _values, result)
|
|
307
328
|
result = val[1]
|
|
308
329
|
result
|
|
309
330
|
end
|
|
310
331
|
|
|
311
|
-
def
|
|
332
|
+
def _reduce_16(val, _values, result)
|
|
312
333
|
notations = val[0]
|
|
313
334
|
notations.push(val[2])
|
|
314
335
|
result = notations
|
|
@@ -316,12 +337,12 @@ def _reduce_13(val, _values, result)
|
|
|
316
337
|
result
|
|
317
338
|
end
|
|
318
339
|
|
|
319
|
-
def
|
|
340
|
+
def _reduce_17(val, _values, result)
|
|
320
341
|
result = [val[0]]
|
|
321
342
|
result
|
|
322
343
|
end
|
|
323
344
|
|
|
324
|
-
def
|
|
345
|
+
def _reduce_18(val, _values, result)
|
|
325
346
|
times = val[0]
|
|
326
347
|
sides = val[2]
|
|
327
348
|
result = UpperDice::Node::Notation.new(times, sides)
|
|
@@ -329,75 +350,75 @@ def _reduce_15(val, _values, result)
|
|
|
329
350
|
result
|
|
330
351
|
end
|
|
331
352
|
|
|
332
|
-
def
|
|
353
|
+
def _reduce_19(val, _values, result)
|
|
333
354
|
result = Arithmetic::Node::BinaryOp.new(val[0], :+, val[2])
|
|
334
355
|
result
|
|
335
356
|
end
|
|
336
357
|
|
|
337
|
-
def
|
|
358
|
+
def _reduce_20(val, _values, result)
|
|
338
359
|
result = Arithmetic::Node::BinaryOp.new(val[0], :-, val[2])
|
|
339
360
|
result
|
|
340
361
|
end
|
|
341
362
|
|
|
342
|
-
# reduce
|
|
363
|
+
# reduce 21 omitted
|
|
343
364
|
|
|
344
|
-
def
|
|
365
|
+
def _reduce_22(val, _values, result)
|
|
345
366
|
result = Arithmetic::Node::BinaryOp.new(val[0], :*, val[2])
|
|
346
367
|
result
|
|
347
368
|
end
|
|
348
369
|
|
|
349
|
-
def
|
|
370
|
+
def _reduce_23(val, _values, result)
|
|
350
371
|
divied_class = val[3]
|
|
351
372
|
result = divied_class.new(val[0], val[2])
|
|
352
373
|
|
|
353
374
|
result
|
|
354
375
|
end
|
|
355
376
|
|
|
356
|
-
# reduce
|
|
377
|
+
# reduce 24 omitted
|
|
357
378
|
|
|
358
|
-
def
|
|
379
|
+
def _reduce_25(val, _values, result)
|
|
359
380
|
result = Arithmetic::Node::DivideWithGameSystemDefault
|
|
360
381
|
result
|
|
361
382
|
end
|
|
362
383
|
|
|
363
|
-
def
|
|
384
|
+
def _reduce_26(val, _values, result)
|
|
364
385
|
result = Arithmetic::Node::DivideWithCeil
|
|
365
386
|
result
|
|
366
387
|
end
|
|
367
388
|
|
|
368
|
-
def
|
|
389
|
+
def _reduce_27(val, _values, result)
|
|
369
390
|
result = Arithmetic::Node::DivideWithCeil
|
|
370
391
|
result
|
|
371
392
|
end
|
|
372
393
|
|
|
373
|
-
def
|
|
394
|
+
def _reduce_28(val, _values, result)
|
|
374
395
|
result = Arithmetic::Node::DivideWithRound
|
|
375
396
|
result
|
|
376
397
|
end
|
|
377
398
|
|
|
378
|
-
def
|
|
399
|
+
def _reduce_29(val, _values, result)
|
|
379
400
|
result = Arithmetic::Node::DivideWithFloor
|
|
380
401
|
result
|
|
381
402
|
end
|
|
382
403
|
|
|
383
|
-
def
|
|
404
|
+
def _reduce_30(val, _values, result)
|
|
384
405
|
result = val[1]
|
|
385
406
|
result
|
|
386
407
|
end
|
|
387
408
|
|
|
388
|
-
def
|
|
409
|
+
def _reduce_31(val, _values, result)
|
|
389
410
|
result = Arithmetic::Node::Negative.new(val[1])
|
|
390
411
|
result
|
|
391
412
|
end
|
|
392
413
|
|
|
393
|
-
# reduce
|
|
414
|
+
# reduce 32 omitted
|
|
394
415
|
|
|
395
|
-
def
|
|
416
|
+
def _reduce_33(val, _values, result)
|
|
396
417
|
result = val[1]
|
|
397
418
|
result
|
|
398
419
|
end
|
|
399
420
|
|
|
400
|
-
def
|
|
421
|
+
def _reduce_34(val, _values, result)
|
|
401
422
|
result = Arithmetic::Node::Number.new(val[0])
|
|
402
423
|
result
|
|
403
424
|
end
|