Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Franck Pommereau
/
zinc
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Franck Pommereau
2017-11-23 11:30:58 +0100
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
3304668ce37d135fc7ab06ca73edd598ea65ca69
3304668c
1 parent
c45dfbf9
fixed net compilation API
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
6 additions
and
11 deletions
snakes/compil/__init__.py
snakes/compil/go/__init__.py
snakes/compil/python/__init__.py
snakes/compil/__init__.py
View file @
3304668
...
...
@@ -47,7 +47,9 @@ def build (lang, tree, saveto) :
os
.
unlink
(
tmp
.
name
)
else
:
mod
=
lang
.
build
(
tree
,
out
.
name
,
os
.
path
.
basename
(
out
.
name
))
mod
.
ast
=
tree
if
mod
is
not
None
:
mod
.
__ast__
=
tree
return
mod
class
BaseDeclare
(
object
)
:
_levels
=
[
None
]
...
...
snakes/compil/go/__init__.py
View file @
3304668
...
...
@@ -13,10 +13,6 @@ class Declare (BaseDeclare) :
_levels
=
[
"import"
,
"decl"
]
_default
=
"decl"
class
GoModule
(
object
)
:
def
__init__
(
self
,
srcpath
)
:
self
.
path
=
os
.
path
.
splitext
(
srcpath
)[
0
]
def
update_gopath
()
:
# TODO: fix this wrt installation path
path
=
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
dirname
(
inspect
.
getfile
(
snakes
))),
...
...
@@ -40,4 +36,3 @@ def build (ast, src, name) :
except
ValueError
:
continue
raise
CompilationError
(
ast
,
name
,
out
)
return
GoModule
(
src
)
...
...
snakes/compil/python/__init__.py
View file @
3304668
import
types
,
traceback
,
sys
,
importlib
import
types
,
traceback
,
sys
from
snakes.compil
import
CompilationError
,
BaseDeclare
from
.
import
codegen
as
codegen
...
...
@@ -15,11 +15,9 @@ class Declare (BaseDeclare) :
def
build
(
ast
,
src
,
name
)
:
if
isinstance
(
src
,
str
)
:
src
=
open
(
src
)
ctx
=
{}
try
:
spec
=
importlib
.
util
.
spec_from_file_location
(
module_name
,
file_path
)
mod
=
importlib
.
util
.
module_from_spec
(
spec
)
spec
.
loader
.
exec_module
(
mod
)
mod
=
types
.
ModuleType
(
ast
.
name
)
exec
(
src
.
read
(),
mod
.
__dict__
)
except
Exception
as
err
:
c
,
v
,
t
=
sys
.
exc_info
()
msg
=
traceback
.
format_exception_only
(
c
,
v
)
...
...
Please
register
or
login
to post a comment