From 500caaeda74dd9c660279036293f4b2997cf0b03 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 9 Sep 2017 09:42:37 +0200 Subject: Add vendor --- vendor/github.com/llgcode/ps/operators.go | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 vendor/github.com/llgcode/ps/operators.go (limited to 'vendor/github.com/llgcode/ps/operators.go') diff --git a/vendor/github.com/llgcode/ps/operators.go b/vendor/github.com/llgcode/ps/operators.go new file mode 100644 index 0000000..8b8babe --- /dev/null +++ b/vendor/github.com/llgcode/ps/operators.go @@ -0,0 +1,41 @@ +// Copyright 2010 The postscript-go Authors. All rights reserved. +// created: 13/12/2010 by Laurent Le Goff + +package ps + +type OperatorFunc func(interpreter *Interpreter) + +type PrimitiveOperator struct { + f OperatorFunc +} + +func NewOperator(f OperatorFunc) *PrimitiveOperator { + return &PrimitiveOperator{f} +} + +func (o *PrimitiveOperator) Execute(interpreter *Interpreter) { + o.f(interpreter) +} + +func save(interpreter *Interpreter) { + interpreter.Push("VM Snapshot") +} + +func restore(interpreter *Interpreter) { + interpreter.Pop() +} + +func initSystemOperators(interpreter *Interpreter) { + interpreter.SystemDefine("save", NewOperator(save)) + interpreter.SystemDefine("restore", NewOperator(restore)) + initStackOperator(interpreter) + initMathOperators(interpreter) + initArrayOperators(interpreter) + initDictionaryOperators(interpreter) + initRelationalOperators(interpreter) + initControlOperators(interpreter) + initMiscellaneousOperators(interpreter) + initDrawingOperators(interpreter) + + initConflictingOperators(interpreter) +} -- cgit v1.2.3