| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-09-13 18:13:55 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-09-13 18:13:55 +0200 |
| commit | 121042f223430aeab262634ecc59f86f08a35dc5 (patch) | |
| tree | 65524661bd6e88c0d6c5088f083fae4b1b9b5bf8 /src | |
| parent | ee3d8bbc6edd9832da94daec092936f067953cdb (diff) | |
Gets the Blackjack example to run again.
Diffstat (limited to 'src')
6 files changed, 34 insertions, 22 deletions
diff --git a/src/core/src/tonkadur/fate/v1/lang/computation/SwitchValue.java b/src/core/src/tonkadur/fate/v1/lang/computation/SwitchValue.java index e49525d..405580b 100644 --- a/src/core/src/tonkadur/fate/v1/lang/computation/SwitchValue.java +++ b/src/core/src/tonkadur/fate/v1/lang/computation/SwitchValue.java @@ -60,12 +60,20 @@ public class SwitchValue extends Computation Type candidate_hint, hint; target_type = target.get_type(); - first_type = branches.get(0).get_cdr().get_type(); - hint = first_type; + + candidate_hint = branches.get(0).get_car().get_type(); + hint = branches.get(0).get_cdr().get_type(); for (final Cons<Computation, Computation> entry: branches) { - hint = RecurrentChecks.assert_can_be_used_as(entry.get_car(), hint); + candidate_hint = + RecurrentChecks.assert_can_be_used_as + ( + entry.get_car(), + candidate_hint + ); + + hint = RecurrentChecks.assert_can_be_used_as(entry.get_cdr(), hint); } hint = RecurrentChecks.assert_can_be_used_as(default_value, hint); diff --git a/src/core/src/tonkadur/fate/v1/lang/meta/RecurrentChecks.java b/src/core/src/tonkadur/fate/v1/lang/meta/RecurrentChecks.java index 43ed6f6..01925f7 100644 --- a/src/core/src/tonkadur/fate/v1/lang/meta/RecurrentChecks.java +++ b/src/core/src/tonkadur/fate/v1/lang/meta/RecurrentChecks.java @@ -137,7 +137,7 @@ public class RecurrentChecks public static void assert_is_a_collection (final Computation a) throws ParsingError { - assert_is_a_set(a.get_origin(), a.get_type()); + assert_is_a_collection(a.get_origin(), a.get_type()); } public static void assert_is_a_collection (final Origin o, final Type t) @@ -160,7 +160,11 @@ public class RecurrentChecks } } - public static void assert_is_a_list_of (final Computation c, final Computation e) + public static void assert_is_a_list_of + ( + final Computation c, + final Computation e + ) throws ParsingError { assert_is_a_list_of @@ -190,7 +194,11 @@ public class RecurrentChecks ); } - public static void assert_is_a_set_of (final Computation c, final Computation e) + public static void assert_is_a_set_of + ( + final Computation c, + final Computation e + ) throws ParsingError { assert_is_a_set_of diff --git a/src/core/src/tonkadur/fate/v1/parser/FateParser.g4 b/src/core/src/tonkadur/fate/v1/parser/FateParser.g4 index 95127e5..6d2501b 100644 --- a/src/core/src/tonkadur/fate/v1/parser/FateParser.g4 +++ b/src/core/src/tonkadur/fate/v1/parser/FateParser.g4 @@ -535,7 +535,7 @@ returns [Instruction result] } | PROMPT_STRING_KW - target=value_reference WS+ + targetv=value WS+ min_size=value WS+ max_size=value WS+ paragraph WS* @@ -549,7 +549,7 @@ returns [Instruction result] ($PROMPT_STRING_KW.getLine()), ($PROMPT_STRING_KW.getCharPositionInLine()) ), - ($target.result), + ($targetv.result), ($min_size.result), ($max_size.result), ($paragraph.result) @@ -557,7 +557,7 @@ returns [Instruction result] } | PROMPT_INTEGER_KW - target=value_reference WS+ + targetv=value WS+ min_size=value WS+ max_size=value WS+ paragraph WS* @@ -571,7 +571,7 @@ returns [Instruction result] ($PROMPT_INTEGER_KW.getLine()), ($PROMPT_INTEGER_KW.getCharPositionInLine()) ), - ($target.result), + ($targetv.result), ($min_size.result), ($max_size.result), ($paragraph.result) diff --git a/src/core/src/tonkadur/wyrd/v1/compiler/fate/v1/InstructionCompiler.java b/src/core/src/tonkadur/wyrd/v1/compiler/fate/v1/InstructionCompiler.java index 2bafc69..297ad14 100644 --- a/src/core/src/tonkadur/wyrd/v1/compiler/fate/v1/InstructionCompiler.java +++ b/src/core/src/tonkadur/wyrd/v1/compiler/fate/v1/InstructionCompiler.java @@ -2314,7 +2314,7 @@ implements tonkadur.fate.v1.lang.meta.InstructionVisitor ( new PromptInteger ( - target_cc.get_address(), + target_cc.get_computation(), min_cc.get_computation(), max_cc.get_computation(), label_cc.get_computation() @@ -2377,7 +2377,7 @@ implements tonkadur.fate.v1.lang.meta.InstructionVisitor ( new PromptString ( - target_cc.get_address(), + target_cc.get_computation(), min_cc.get_computation(), max_cc.get_computation(), label_cc.get_computation() diff --git a/src/core/src/tonkadur/wyrd/v1/lang/instruction/PromptInteger.java b/src/core/src/tonkadur/wyrd/v1/lang/instruction/PromptInteger.java index 237a9a5..cb01cf2 100644 --- a/src/core/src/tonkadur/wyrd/v1/lang/instruction/PromptInteger.java +++ b/src/core/src/tonkadur/wyrd/v1/lang/instruction/PromptInteger.java @@ -1,7 +1,5 @@ package tonkadur.wyrd.v1.lang.instruction; -import tonkadur.wyrd.v1.lang.computation.Address; - import tonkadur.wyrd.v1.lang.meta.Computation; import tonkadur.wyrd.v1.lang.meta.Instruction; import tonkadur.wyrd.v1.lang.meta.InstructionVisitor; @@ -11,7 +9,7 @@ public class PromptInteger extends Instruction /***************************************************************************/ /**** MEMBERS **************************************************************/ /***************************************************************************/ - protected final Address target; + protected final Computation target; protected final Computation min, max, label; /***************************************************************************/ @@ -20,7 +18,7 @@ public class PromptInteger extends Instruction /**** Constructors *********************************************************/ public PromptInteger ( - final Address target, + final Computation target, final Computation min, final Computation max, final Computation label @@ -33,7 +31,7 @@ public class PromptInteger extends Instruction } /**** Accessors ************************************************************/ - public Address get_target() + public Computation get_target() { return target; } diff --git a/src/core/src/tonkadur/wyrd/v1/lang/instruction/PromptString.java b/src/core/src/tonkadur/wyrd/v1/lang/instruction/PromptString.java index a24ac61..0c825b6 100644 --- a/src/core/src/tonkadur/wyrd/v1/lang/instruction/PromptString.java +++ b/src/core/src/tonkadur/wyrd/v1/lang/instruction/PromptString.java @@ -1,7 +1,5 @@ package tonkadur.wyrd.v1.lang.instruction; -import tonkadur.wyrd.v1.lang.computation.Address; - import tonkadur.wyrd.v1.lang.meta.Computation; import tonkadur.wyrd.v1.lang.meta.Instruction; import tonkadur.wyrd.v1.lang.meta.InstructionVisitor; @@ -11,7 +9,7 @@ public class PromptString extends Instruction /***************************************************************************/ /**** MEMBERS **************************************************************/ /***************************************************************************/ - protected final Address target; + protected final Computation target; protected final Computation min, max, label; /***************************************************************************/ @@ -20,7 +18,7 @@ public class PromptString extends Instruction /**** Constructors *********************************************************/ public PromptString ( - final Address target, + final Computation target, final Computation min, final Computation max, final Computation label @@ -33,7 +31,7 @@ public class PromptString extends Instruction } /**** Accessors ************************************************************/ - public Address get_target() + public Computation get_target() { return target; } |


