LS-PrePost *1 Scripting Command Language による Hello world
有限要素法によるシミュレーション方面に、LS-DYNA というソフトウェアがありまして、その入力データの作成や結果表示を行うための LS-PrePost というソフトウェアがあります。LS-PrePost はプロプライエタリですが、無料で使用することはできます。
LS-PrePost には Scripting Command Language というプログラミング言語が付いていまして、繰り返し処理なんかをスクリプト化できたりします。マニュアル (ftp://ftp.lstc.com/outgoing/lsprepost/SCLexamples/lsppscripting.doc (MS-Word)) に書いてあるように、C っぽい言語ですが、加算代入演算子 (+=) やインクリメント演算子 (++)、条件分岐演算子 (?:) などが無かったり、int ではなく Int だったり、switch case が無かったりします。
SCL の Hello world はこんな感じです。
/* hello.scl */ define: void main(void){ printf("Hello, world!"); } main();
コマンドラインから SCL を実行するためには、SCL を実行するためのラッパーファイル (run.cfile) を用意して
runscript hello.scl
以下のようにコマンドを実行すると
$ lsprepost4.3_mesa_centos7/lspp43 -nographics c=run.cfile 2> /dev/null
以下のように(前後に色々と付きますが)、Hello, world! が出力されます。
_____________________________________________________ | | | Livermore Software Technology Corporation | | | | L S - P R E P O S T | | | | Advanced Pre- and Post-Processor for LS-DYNA | | | | LS-PrePost(R) V4.3.20 - 09Jan2018 | | | | LSTC Copyright (C) 1999-2014 | | All Rights Reserved | |___________________________________________________| OpenGL version 2.1 Mesa 8.0.5 bgstyle plain openc command "run.cfile" nodialog runscript hello.scl (Re)Load script : hello.scl Hello, world! Script file /home/yshl/hello.scl parsed. no error found Finished reading command file! exit Save Config. parameters to file /home/yshl/LSTC/LS-PrePost4.3/lsppconf