Created
January 5, 2017 01:18
-
-
Save imWildCat/b1c1caaa4e6258759c7748fb36a5a744 to your computer and use it in GitHub Desktop.
grumpy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
πg "grumpy" | |
π_os "os" | |
) | |
func initModule(πF *πg.Frame, _ []*πg.Object) (*πg.Object, *πg.BaseException) { | |
ßDemo := πg.InternStr("Demo") | |
ß__metaclass__ := πg.InternStr("__metaclass__") | |
ß__module__ := πg.InternStr("__module__") | |
ß__name__ := πg.InternStr("__name__") | |
ßobject := πg.InternStr("object") | |
ßprintHello := πg.InternStr("printHello") | |
var πTemp001 *πg.Dict | |
_ = πTemp001 | |
var πTemp002 *πg.Object | |
_ = πTemp002 | |
var πTemp003 []*πg.Object | |
_ = πTemp003 | |
var πTemp004 *πg.Object | |
_ = πTemp004 | |
var πTemp005 *πg.Object | |
_ = πTemp005 | |
var πE *πg.BaseException; _ = πE | |
for ; πF.State() >= 0; πF.PopCheckpoint() { | |
switch πF.State() { | |
case 0: | |
default: panic("unexpected function state") | |
} | |
// line 1: class Demo(object): | |
πF.SetLineno(1) | |
πTemp003 = make([]*πg.Object, 1) | |
if πTemp005, πE = πg.ResolveGlobal(πF, ßobject); πE != nil { | |
continue | |
} | |
πTemp003[0] = πTemp005 | |
πTemp001 = πg.NewDict() | |
if πTemp002, πE = πF.Globals().GetItem(πF, ß__name__.ToObject()); πE != nil { | |
continue | |
} | |
if πE = πTemp001.SetItem(πF, ß__module__.ToObject(), πTemp002); πE != nil { | |
continue | |
} | |
_, πE = πg.NewCode("Demo", "demo_class.py", nil, 0, func(πF *πg.Frame, _ []*πg.Object) (*πg.Object, *πg.BaseException) { | |
πClass := πTemp001 | |
_ = πClass | |
var πTemp001 *πg.Object | |
_ = πTemp001 | |
var πTemp002 []πg.FunctionArg | |
_ = πTemp002 | |
var πE *πg.BaseException; _ = πE | |
for ; πF.State() >= 0; πF.PopCheckpoint() { | |
switch πF.State() { | |
case 0: | |
default: panic("unexpected function state") | |
} | |
// line 3: def printHello(self): | |
πF.SetLineno(3) | |
πTemp002 = make([]πg.FunctionArg, 1) | |
πTemp002[0] = πg.FunctionArg{Name: "self", Def: nil} | |
πTemp001 = πg.NewFunction(πg.NewCode("printHello", "demo_class.py", πTemp002, 0, func(πF *πg.Frame, πArgs []*πg.Object) (*πg.Object, *πg.BaseException) { | |
var µself *πg.Object = πArgs[0]; _ = µself | |
var πTemp001 []*πg.Object | |
_ = πTemp001 | |
var πE *πg.BaseException; _ = πE | |
for ; πF.State() >= 0; πF.PopCheckpoint() { | |
switch πF.State() { | |
case 0: | |
default: panic("unexpected function state") | |
} | |
// line 4: print('Hello, world!') | |
πF.SetLineno(4) | |
πTemp001 = make([]*πg.Object, 1) | |
πTemp001[0] = πg.NewStr("Hello,\x20world!").ToObject() | |
if πE = πg.Print(πF, πTemp001, true); πE != nil { | |
continue | |
} | |
return nil, nil | |
} | |
return nil, πE | |
}), πF.Globals()).ToObject() | |
if πE = πClass.SetItem(πF, ßprintHello.ToObject(), πTemp001); πE != nil { | |
continue | |
} | |
return nil, nil | |
} | |
return nil, πE | |
}).Eval(πF, πF.Globals(), nil, nil) | |
if πE != nil { | |
return nil, πE | |
} | |
if πTemp004, πE = πTemp001.GetItem(πF, ß__metaclass__.ToObject()); πE != nil { | |
return nil, πE | |
} | |
if πTemp004 == nil { | |
πTemp004 = πg.TypeType.ToObject() | |
} | |
if πTemp005, πE = πTemp004.Call(πF, []*πg.Object{πg.NewStr("Demo").ToObject(), πg.NewTuple(πTemp003...).ToObject(), πTemp001.ToObject()}, nil); πE != nil { | |
continue | |
} | |
if πE = πF.Globals().SetItem(πF, ßDemo.ToObject(), πTemp005); πE != nil { | |
continue | |
} | |
return nil, nil | |
} | |
return nil, πE | |
} | |
var Code *πg.Code | |
func main() { | |
Code = πg.NewCode("<module>", "demo_class.py", nil, 0, initModule) | |
π_os.Exit(πg.RunMain(Code)) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Demo(object): | |
def printHello(self): | |
print('Hello, world!') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
πg "grumpy" | |
π_os "os" | |
) | |
func initModule(πF *πg.Frame, _ []*πg.Object) (*πg.Object, *πg.BaseException) { | |
var πTemp001 []*πg.Object | |
_ = πTemp001 | |
var πE *πg.BaseException; _ = πE | |
for ; πF.State() >= 0; πF.PopCheckpoint() { | |
switch πF.State() { | |
case 0: | |
default: panic("unexpected function state") | |
} | |
// line 1: print "hello, world" | |
πF.SetLineno(1) | |
πTemp001 = make([]*πg.Object, 1) | |
πTemp001[0] = πg.NewStr("hello,\x20world").ToObject() | |
if πE = πg.Print(πF, πTemp001, true); πE != nil { | |
continue | |
} | |
return nil, nil | |
} | |
return nil, πE | |
} | |
var Code *πg.Code | |
func main() { | |
Code = πg.NewCode("<module>", "hello.py", nil, 0, initModule) | |
π_os.Exit(πg.RunMain(Code)) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
print "hello, world" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment