2

verbosity を 2 に設定したスイッチを使用して--red-only、非常に単純な Red プログラムを Red/System に相当するものにコンパイルしています。プログラムは次のとおりです。

Red []

red-load: func [source  [file! url! string! binary!]] [
    load source
]

一定量の出力が生成され、それをファイルにリダイレクトしました。私の目標は、これに Red/System ヘッダーを追加してビルドすることでした。

いくつかのコメント行を取り除いた後、次の障壁は、このコードが少なくともいくつかのマクロを展開していなかったため、#includefor runtime/macros.redsを追加する必要があったことです。しかし、そのうちの 1 つ (マクロ TO_CTX) の展開でこのエラーが発生しました。

*** Compilation Error: invalid target type casting: red-context! 
*** in file: %/home/hostilefork/Projects/red/embedme.reds 
*** in function: f_modulo
*** at line: 11 
*** near: (as red-context! ((as series! ctx15/value) + 1))

red-context!Redランタイムコードで使用されている他のデータ型を見てきましred-*!た... Red/SystemがRedから取得した値について話す必要がある場合。しかし、Red/System 仕様には記載されていません。それらは通常の Red/System コードで使用できますか、それとも内部でのみ許可する「特別な」ものがありますか?

4

1 に答える 1