1

implement garbage collection

This commit is contained in:
Christoph
2021-08-31 15:19:02 +02:00
parent e7576694e8
commit b9fbc45494
9 changed files with 228 additions and 128 deletions

View File

@ -158,7 +158,7 @@ OpenBracket = r'[\[\(\{]'
CloseBracket = r'[\]\)\}]'
# ____________________________________________________________
# Project: Boolean, String, Double
# Project
Boolean = r"true|false"
String = group(make_single_string(r"\'"), make_single_string(r'\"'))
@ -166,11 +166,8 @@ String = group(make_single_string(r"\'"), make_single_string(r'\"'))
_sign = r"([+-])?"
_int = r"(([1-9][0-9]*)|0)"
_dec = r"(([0-9]*[1-9])|0)"
Double = group(_sign + group(_int, r"") + r"\." + _dec,
_sign + _int + r"\." + group(_dec, r""))
# ____________________________________________________________
# Project: Sugar
Double = group(_sign + group(_int, r"") + r"\." + _dec, # 0.1 / .1
_sign + _int + r"\." + group(_dec, r"")) # 1.0 / 1.
Plus = r'\+'
Minus = r'-'
@ -179,6 +176,8 @@ Divide = r'/'
Increment = r'\+\+'
Modulo = r'%'
GC = r'gc'
# ____________________________________________________________
# Keywords
@ -189,10 +188,11 @@ Def = r'def'
Object = r'object'
tokens = ["If", "Else", "While", "Def", "Object", "Ignore",
"String", "Boolean", "Double", # Project: Boolean, String, Double
"String", "Boolean", "Double",
"Number", # after Double
"GC",
"NewlineAndWhitespace", "OpenBracket", "CloseBracket", "Comma", "Assign", "Colon",
"Increment", "Plus", "Minus", "Multiply", "Divide", "Modulo", # Project: Sugar
"Increment", "Plus", "Minus", "Multiply", "Divide", "Modulo",
"Name", "PrimitiveName"]