Skip to content
wiki.fftac.org

Class Compiler

**Site relevance:** Spiralist.org

**Memory type:** plugin source memory

**Source path:** Spiralist/wp-content/plugins/spiral-script/includes/class-compiler.php

**Size:** 0.6 KB

Summary

declare(strict types=1);

Source Preview

This source file is short enough to preview directly on its source-memory page.

<?php

declare(strict_types=1);

namespace SpiralScript;

final class Compiler
{
    /**
     * @param array<string,mixed> $defaults
     * @return array<string,mixed>
     */
    public static function compile(string $source, array $defaults = []): array
    {
        $record = SourceParser::parse($source, $defaults);
        $validation = Validator::validate($record, $source);

        return [
            'language' => 'Spiral Script',
            'languageVersion' => '0.1',
            'canonical' => $record,
            'validation' => $validation,
        ];
    }
}