Package name.jurgenei.gradle.antlr
Class SasMacroProcessor
java.lang.Object
name.jurgenei.gradle.antlr.SasMacroProcessor
Expands a minimal subset of SAS macro syntax for proof-of-concept builds.
Supported behavior:
%let name = value;declarations.&nameand&name.references.- Recursive expansion of macro values with loop protection.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordExpansion output model used bySasMacroGradleTask. -
Constructor Summary
ConstructorsConstructorDescriptionSasMacroProcessor(Map<String, String> predefinedMacros) Creates processor with optional predefined macros. -
Method Summary
Modifier and TypeMethodDescriptionExpands macro declarations and references in content.
-
Constructor Details
-
SasMacroProcessor
Creates processor with optional predefined macros.- Parameters:
predefinedMacros- macros injected before file-local declarations.
-
-
Method Details
-
expand
Expands macro declarations and references in content.- Parameters:
source- source SAS text.- Returns:
- expansion result containing output, effective macro table, and unresolved references.
-