Enhanced complex concepts handling
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from core.builtin_concepts import BuiltinConcepts
|
||||
from core.tokenizer import Tokenizer, LexerError, TokenKind
|
||||
from parsers.BaseParser import BaseParser, Node, ErrorNode
|
||||
from dataclasses import dataclass
|
||||
from dataclasses import dataclass, field
|
||||
import ast
|
||||
import logging
|
||||
|
||||
@@ -17,10 +17,12 @@ class PythonErrorNode(ErrorNode):
|
||||
# self.log.debug("-> PythonErrorNode: " + str(self.exception))
|
||||
|
||||
|
||||
@dataclass()
|
||||
class PythonNode(Node):
|
||||
source: str
|
||||
ast_: ast.AST
|
||||
|
||||
def __init__(self, source, ast_, concepts=None):
|
||||
self.source = source
|
||||
self.ast_ = ast_
|
||||
self.concepts = concepts or {}
|
||||
|
||||
# def __repr__(self):
|
||||
# return "PythonNode(source='" + self.source + "', ast=" + self.get_dump(self.ast_) + ")"
|
||||
@@ -67,7 +69,7 @@ class PythonParser(BaseParser):
|
||||
tree = None
|
||||
|
||||
python_switcher = {
|
||||
TokenKind.CONCEPT: lambda t: f"__C__{t.value}__C__"
|
||||
TokenKind.CONCEPT: lambda t: f"__C__USE_CONCEPT__{t.value}__C__"
|
||||
}
|
||||
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user