Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
typon-compiler
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
typon
typon-compiler
Commits
a54ea07e
Commit
a54ea07e
authored
Mar 09, 2023
by
Tom Niget
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Handle import aliases
parent
0a0cdfd7
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
3 deletions
+8
-3
trans/tests/builtins_test.py
trans/tests/builtins_test.py
+1
-1
trans/transpiler/__init__.py
trans/transpiler/__init__.py
+7
-2
No files found.
trans/tests/builtins_test.py
View file @
a54ea07e
# coding: utf-8
# coding: utf-8
from
typon
import
is_cpp
from
typon
import
is_cpp
import
sys
from
sys
import
stdout
as
truc
test
=
(
2
+
3
)
*
4
test
=
(
2
+
3
)
*
4
glob
=
5
glob
=
5
...
...
trans/transpiler/__init__.py
View file @
a54ea07e
...
@@ -386,14 +386,19 @@ class BlockVisitor(NodeVisitor):
...
@@ -386,14 +386,19 @@ class BlockVisitor(NodeVisitor):
if
alias
.
name
==
"typon"
:
if
alias
.
name
==
"typon"
:
yield
""
yield
""
else
:
else
:
yield
f
'#include "python/
{
alias
.
name
}
.hpp"'
yield
f
rom
self
.
import_module
(
alias
.
name
)
#raise NotImplementedError(node)
#raise NotImplementedError(node)
def
import_module
(
self
,
name
:
str
)
->
Iterable
[
str
]:
yield
f'#include "python/
{
name
}
.hpp"'
def
visit_ImportFrom
(
self
,
node
:
ast
.
ImportFrom
)
->
Iterable
[
str
]:
def
visit_ImportFrom
(
self
,
node
:
ast
.
ImportFrom
)
->
Iterable
[
str
]:
if
node
.
module
==
"typon"
:
if
node
.
module
==
"typon"
:
yield
""
yield
""
else
:
else
:
raise
NotImplementedError
(
node
)
yield
from
self
.
import_module
(
node
.
module
)
for
alias
in
node
.
names
:
yield
f"auto&
{
alias
.
asname
or
alias
.
name
}
=
{
node
.
module
}
.
{
alias
.
name
}
;"
def
visit_FunctionDef
(
self
,
node
:
ast
.
FunctionDef
)
->
Iterable
[
str
]:
def
visit_FunctionDef
(
self
,
node
:
ast
.
FunctionDef
)
->
Iterable
[
str
]:
templ
,
args
=
self
.
process_args
(
node
.
args
)
templ
,
args
=
self
.
process_args
(
node
.
args
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment