| 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/core | |
| parent | ee3d8bbc6edd9832da94daec092936f067953cdb (diff) | |
Gets the Blackjack example to run again.
Diffstat (limited to 'src/core')
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;     } | 


