Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
Alligators-python
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Benjamin Monmege
Alligators-python
Commits
8bf22911
Commit
8bf22911
authored
3 years ago
by
Antonio MATTAR
Browse files
Options
Downloads
Patches
Plain Diff
-Fixed the buildVar so that we deal with numbers instead of strings
parent
4bb2a1fe
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
image_maker.py
+3
-0
3 additions, 0 deletions
image_maker.py
parser.py
+14
-5
14 additions, 5 deletions
parser.py
with
17 additions
and
5 deletions
image_maker.py
0 → 100644
+
3
−
0
View file @
8bf22911
from
PIL
import
Image
img
=
Image
.
new
(
"
RGB
"
,
(
1280
,
800
),
(
255
,
255
,
255
))
img
.
save
(
"
terme.png
"
,
"
PNG
"
)
This diff is collapsed.
Click to expand it.
parser.py
+
14
−
5
View file @
8bf22911
from
main
import
*
from
main
import
*
# TERME = input('Please enter a Lambda-Term: ')
# TERME = input('Please enter a Lambda-Term: ')
#renvoie conteur le nombre de parentheses ouvertes et indexes la liste des indices des parenthese)
#renvoie conteur le nombre de parentheses ouvertes et indexes la liste des indices des parenthese)
variables_counter
=
0
variables
=
{}
def
open_parantheses_counter
(
terme
):
def
open_parantheses_counter
(
terme
):
counter
=
0
counter
=
0
indexes
=
[]
indexes
=
[]
...
@@ -68,6 +72,7 @@ def getTermsFromParantheses(terme):
...
@@ -68,6 +72,7 @@ def getTermsFromParantheses(terme):
#fonction qui enleve les espaces successifs et laisse un seul espace
#fonction qui enleve les espaces successifs et laisse un seul espace
def
remove_multiple_spaces
(
terme
):
def
remove_multiple_spaces
(
terme
):
terme
=
terme
.
strip
()
new_term
=
''
new_term
=
''
i
=
0
i
=
0
while
i
<
len
(
terme
):
while
i
<
len
(
terme
):
...
@@ -104,7 +109,7 @@ def isApplication(terme):
...
@@ -104,7 +109,7 @@ def isApplication(terme):
#on prend l input de labs en chaine de caractères
#on prend l input de labs en chaine de caractères
def
parse
InputFromAbs
(
terme
):
def
extract
InputFromAbs
(
terme
):
input
=
''
input
=
''
if
checkType
(
terme
)
==
ABS
:
if
checkType
(
terme
)
==
ABS
:
i
=
1
i
=
1
...
@@ -113,7 +118,7 @@ def parseInputFromAbs(terme):
...
@@ -113,7 +118,7 @@ def parseInputFromAbs(terme):
i
+=
1
i
+=
1
return
input
return
input
# on prend l output en chaine de caractères
# on prend l output en chaine de caractères
def
parse
OutputFromAbs
(
terme
):
def
extract
OutputFromAbs
(
terme
):
index_of_point
=
terme
.
find
(
'
.
'
)
index_of_point
=
terme
.
find
(
'
.
'
)
if
checkType
(
terme
)
==
ABS
:
if
checkType
(
terme
)
==
ABS
:
return
terme
[
index_of_point
+
1
:]
return
terme
[
index_of_point
+
1
:]
...
@@ -122,14 +127,18 @@ def buildVar(terme):
...
@@ -122,14 +127,18 @@ def buildVar(terme):
assert
(
checkType
(
terme
)
==
VAR
)
assert
(
checkType
(
terme
)
==
VAR
)
# print(terme)
# print(terme)
if
terme
[
0
]
!=
'
(
'
:
if
terme
[
0
]
!=
'
(
'
:
return
new_var
(
terme
)
if
terme
in
variables
:
return
variables
[
terme
]
else
:
variables
[
terme
]
=
new_var
(
freshVar
())
return
variables
[
terme
]
else
:
else
:
return
buildTerm
(
getTermFromParantheses
(
terme
,
0
))
return
buildTerm
(
getTermFromParantheses
(
terme
,
0
))
def
buildAbs
(
terme
):
def
buildAbs
(
terme
):
assert
(
checkType
(
terme
)
==
ABS
)
assert
(
checkType
(
terme
)
==
ABS
)
input
=
parse
InputFromAbs
(
terme
)
input
=
extract
InputFromAbs
(
terme
)
output
=
parse
OutputFromAbs
(
terme
)
output
=
extract
OutputFromAbs
(
terme
)
# print(terme,"INPUT:", input,'OUTPUT:', output)
# print(terme,"INPUT:", input,'OUTPUT:', output)
if
terme
[
0
]
!=
'
(
'
:
if
terme
[
0
]
!=
'
(
'
:
return
new_abs
((
buildTerm
(
input
)),
buildTerm
(
output
))
return
new_abs
((
buildTerm
(
input
)),
buildTerm
(
output
))
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment