compiler, runtime: Begin Runtime Refactor
Continuous Integration / Grammar Tests (push) Failing after 39s
Continuous Integration / Library Format Tests (push) Successful in 1m46s
Continuous Integration / Library Tests (push) Successful in 4m38s

Ultimately, the goal is to completely separate the compilation from
the runtime to make it possible to have the interpreter/evaluator
be "just another" entity that can perform meaningful work when
given a parsed GP4 program.

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
This commit is contained in:
Will Hawkins
2026-05-29 08:41:49 -04:00
parent 18461a9215
commit 44e93e4cda
30 changed files with 1264 additions and 854 deletions
+3 -3
View File
@@ -42,7 +42,7 @@ public struct Parameter: CustomStringConvertible, Equatable {
if let param_direction = self.type.direction(),
param_direction == Direction.In || param_direction == Direction.InOut
{
if !(argument.argument is EvaluatableLValueExpression) {
if !(argument.argument is P4LValueExpression) {
return false
}
}
@@ -125,9 +125,9 @@ public struct ArgumentList {
public struct Argument {
public let index: Int
public let argument: EvaluatableExpression
public let argument: P4Expression
public init(_ argument: EvaluatableExpression, atIndex index: Int) {
public init(_ argument: P4Expression, atIndex index: Int) {
self.argument = argument
self.index = index
}