ソラマメ ブログ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 4人
オーナーへメッセージ
QRコード
QRCODE

気ままな一言

ご質問等、ページへのリンクはご自由に。気軽にコメントでもどうそ~
詳しいことは角川SIMのサポートセンターまでいらっしゃいませっ

世間知らずなので逆にいろいろ教えてください♪

2008年05月10日

スタックオーバー?

ひさしぶりにスクリプトでも書いていたらこんなエラーが出ました。

LSL
Parser stack depth exceeded; SL will throw a syntax error here.

これは?

とりあえず調べてみると、スタックが150を超えると駄目みたいです。

んんっ?
いくらなんでもそんなにネストしている場所は無いのですが??

スタックの数え方がよくわからないのですが、(英語だったので適当にしか読んでいないだけなのですが
処理がネストする以外に変数や関数を定義するだけで1つ消費するみたいです。
制限されている理由も書いてあった気がします。

私のソースは定義値用に無駄な変数作りまくっているのが原因でしょうね。
回避方法を参考に
関数を先に定義してから変数を定義するように変えてみました。

それだけで無事エラーが出なくなりました。

グローバル変数を使用している関数が、
変数定義より前に定義されているのが気持ち悪いのですが、
エラーは出ないのでひとまず良しとしておきましょう。

どうやらこのエラー lslint.exe を使用している場合だけに起きるようです。
InWorldでは問題なくコンパイルが通りました。

何はともあれ解決しました。


それにしても定数どうしましょうね。
無駄に思えて仕方がないのですが、即値はもっと嫌です。
しかも複数のソースで同じ物を使用する場合、両方に同じものを書かないといけないですし。

まあ、あまりにも増えすぎたら奥の手使うしかないですね。


同じカテゴリー(スクリプト)の記事画像
オセロみたいな物を作ってみた
パーティクルが出たり、出なかったり、らじばんだり
実行中のチェック勝手に外れる
同じカテゴリー(スクリプト)の記事
 オセロみたいな物を作ってみた (2009-02-18 23:38)
 パーティクルが出たり、出なかったり、らじばんだり (2008-08-11 22:33)
 実行中のチェック勝手に外れる (2008-06-12 14:00)
 rezに失敗する~; ; (2008-06-06 02:18)
 Tips修正。。 (2008-05-26 23:50)
 LSLでプリプロセッサ (2008-05-18 14:18)
Posted by れむ at 18:24 │スクリプト