Module: IgniterLang

Defined in:
lib/igniter_lang/parser.rb,
lib/igniter_lang.rb,
lib/igniter_lang/cli.rb,
lib/igniter_lang/version.rb,
lib/igniter_lang/assembler.rb,
lib/igniter_lang/classifier.rb,
lib/igniter_lang/diagnostics.rb,
lib/igniter_lang/typechecker.rb,
lib/igniter_lang/runtime_smoke.rb,
lib/igniter_lang/compiler_result.rb,
lib/igniter_lang/temporal_executor.rb,
lib/igniter_lang/compilation_report.rb,
lib/igniter_lang/semanticir_emitter.rb,
lib/igniter_lang/compiler_orchestrator.rb,
lib/igniter_lang/oof_fragment_registry.rb,
lib/igniter_lang/temporal_access_runtime.rb,
lib/igniter_lang/internal_profile_assembly.rb,
lib/igniter_lang/compiler_profile_contract_validator.rb,
lib/igniter_lang/internal_profile_static_data_carrier.rb,
lib/igniter_lang/fragment_registry_compatibility_adapter.rb,
lib/igniter_lang/internal_profile_assembly_source_packet.rb

Overview

Internal profile-assembly source packet.

ISOLATION CONTRACT — this file must not:

- be required from lib/igniter_lang.rb
- integrate with parser/classifier/TypeChecker/SemanticIR/assembler/orchestrator
- expose public API or CLI
- read paths, manifests, loader reports, CompatibilityReports, or runtime state
- write .igapp, .ilk, reports, sidecars, goldens, diagnostics, or CompilerResult fields

Authorized by: LANG-R128-A Track: internal-profile-assembly-source-packet-implementation-v0

Lifecycle wording:

implementation_candidate = internal implementation boundary state
finalized_internal       = internal assembly state only; not PROP-036
                           finalization, not compiler_profile_id, and not
                           manifest/profile identity.

Defined Under Namespace

Modules: CLI, CompilationReport, CompilerProfileContractValidator, CompilerResult, Diagnostics, RuntimeSmoke, TemporalAccessRuntime, TemporalExecutor Classes: Assembler, AssemblyRefused, Classifier, CompilerOrchestrator, FragmentRegistryCompatibilityAdapter, InternalProfileAssembly, InternalProfileAssemblySourcePacket, InternalProfileStaticDataCarrier, Lexer, OOFFragmentRegistry, ParseError, ParsedProgram, Parser, SemanticIREmitter, Token, TypeChecker

Constant Summary collapse

TOKEN_TYPES =

Token types


%i[
  keyword ident string_lit int_lit float_lit bool_lit nil_lit
  symbol_lit lbrace rbrace lparen rparen lbracket rbracket
  dot dot_dot comma colon double_colon dot_dot_dot arrow fat_arrow
  op assign pipe question bang
  newline eof comment
].freeze
KEYWORDS =

Lexer


%w[
  module import contract contract_shape type def trait impl
  input output compute read snapshot window escape
  stream fold_stream
  assumptions assumption uses
  olap_point
  invariant predicate severity label message overridable_with
  from lifecycle using implements
  pipeline step scoped_by cardinality schema_version tenant_free
  if else let
  true false nil
  and or not
].freeze
VERSION =
"0.1.0.alpha.1"
IgappAssembler =
Assembler
Typechecker =
TypeChecker

Class Method Summary collapse

Class Method Details

.compile(source_path:, out_path:, sample_input: nil, sample_input_resolver: nil, runtime_smoke: nil, compiler_profile_source: nil, orchestrator: CompilerOrchestrator.new) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/igniter_lang.rb', line 9

def compile(
  source_path:,
  out_path:,
  sample_input: nil,
  sample_input_resolver: nil,
  runtime_smoke: nil,
  compiler_profile_source: nil,
  orchestrator: CompilerOrchestrator.new
)
  orchestrator.compile(
    source_path: source_path,
    out_path: out_path,
    sample_input: sample_input,
    sample_input_resolver: sample_input_resolver,
    runtime_smoke: runtime_smoke,
    compiler_profile_source: compiler_profile_source
  )
end