Exemplo n.º 1
0
        public static NewParserWord FromVword([NotNull] Context ctx, [NotNull] ZilHash vword)
        {
            var form = new ZilForm(new ZilObject[]
            {
                ctx.GetStdAtom(StdAtom.WORD_LEXICAL_WORD),
                vword
            });

            if (!((ZilObject)form.Eval(ctx) is ZilString lexicalWord))
            {
                throw new InterpreterError(
                          InterpreterMessages._0_1_Must_Return_2,
                          InterpreterMessages.NoFunction,
                          "WORD-LEXICAL-WORD",
                          "a string");
            }

            var atom = ZilAtom.Parse(lexicalWord.Text, ctx);

            return(new NewParserWord(ctx, atom, vword));
        }
Exemplo n.º 2
0
 public NewParserWord([NotNull] Context ctx, [NotNull] ZilAtom atom, [NotNull] ZilHash vword)
 {
     this.ctx = ctx;
     Atom     = atom;
     Inner    = vword;
 }