Hot Soup Processor

Hot Soup Processor
パラダイム 手続き型命令型
登場時期 1996年
設計者 おにたま
開発者 おにたま
最新リリース 安定版:3.6 / 2021年8月10日
評価版リリース HSP3.7β8 / 2024年2月29日[1]
影響を受けた言語 BASICC言語
プラットフォーム HSP2以前:Microsoft Windows
HSP3以降:クロスプラットフォーム
ライセンス BSDライセンス
ウェブサイト HSPTV!
テンプレートを表示

Hot Soup Processor(ホットスーププロセッサー)は、1995年からおにたまにより開発されているプログラミングツール、およびそのプログラミング言語である。略称はHSP

歴史

誕生とHSP2登場

1994年にHSPの前身となるlight SOUP processor(LSP)がPC-9800シリーズで開発された。名前の SOUP processor は「sequential output control processor: a text script interpreter for multi-purpose, multi-target」が由来である[2]。言語仕様は米ダートマス大学で開発された BASIC 言語の書式に基づいているが、BASIC との互換性はない。

1995年より Windows 3.1 で動作するHSP1.0の開発が開始され[3]、1996年にフリーウェアとして一般に公開された。開発した経緯について、おにたまは『自分にとって必要だから作った、いわば中間生成物的ソフトなのです。』と述べている[4]

1997年にHSP2.0が登場し、Windows 95 以降で動作する32ビットアプリケーションとなった。定数や文字列型の変数に対応したほか、後のバージョンアップで3D描画機能をサポートした。1999年に「Microsoft DXSD 賞」、2001年に「オンラインソフトウェア大賞2001」をそれぞれ受賞した。2005年には日本の経済産業省が支援する「ITクラフトマンシップ・プロジェクト」にHSPを取り入れた教育・研修が採択された[5][6]。なお、HSP2.61は Visual Studio .NET 2003 を使用して開発しコンパイルされていた[7]

HSP3の登場

2005年8月1日にHSP3.0が登場。OSはWindows 98以降が必要になった。文法体系の見直し、Windowsプラットフォームへの親和性の向上などが行われ、一部が従来のHSP2.x系と互換性のない書式に変更された。(詳細は#言語仕様参照)

HSP3.0のリリースから2年後にあたる2007年8月1日にHSP3.1が登場、HSPスクリプトエディタの機能改善や、新規のプラグイン・モジュールなどの追加、Peasエディタやかんたん入力機能によるスクリプト入力補助、Javaランタイム上でHSPを動作させるためのHSPLetの標準サポート、ライセンス形式の改定(BSDライセンス)による仕様やソースコードのオープン化が行われた。

2011年9月13日に登場したHSP3.3では、HSPDishというランタイムパッケージが供給されており、変換によってiOSAndroid上でプログラムを実行させることができるようになった。また、HSP3のコードを他のソースに変換するためのツールとしてhsp3cnvが同梱され、公式にC++へのコード変換が可能になった。

HSP3の登場から新ポータルサイトHSPTV!が立ち上がりHSP3ユーザーのコミュニケーションの場として提供されている。またHSPTV!で同サイトのCGIプログラマを募集するなどの取り組みも試みられている[8]2003年からは毎年HSPプログラムコンテストが開催されており、2013年のコンテストでは「ニコニコ自作ゲームフェス2」との作品の相互提供が行われている。

特徴

HSPは手続き型言語であり、中間言語インタープリタのプログラミングツールとして設計されている。公式に『子供でも理解し易いプログラム言語』を掲げており[9]、低年齢(例えば小学生)向けの解説書も出版されている。

ユーザーがスクリプトの記述や開発環境の設定を行うことなく、自動的にウィンドウの作成や制御が行われる。コンソール版HSP(HSPCL)を用いれば、コマンドプロンプト上で実行するプログラムも開発できる。スクリプトの最後の行が終わるとその時点で実行が停止し、自動的にプログラムが終了しない。

Windowsでの使用を前提としているが、公式にMac OSへの移植をしたHSP/Macも存在する。有志によって非公式的にLinuxにも移植されているが、移植版の場合はWindows版より古いバージョンがベースになっている。ただし、2018年4月1日に、正式にRaspberry PiやLinux対応を謳う、HSP3 for Linux/Raspberry Piが公開され、今後はWindows版もこちらに準拠する旨アナウンスされている。

言語仕様の特徴

HSP3.xの(ユーザーが実際に入力する)言語仕様に関する主な特徴として、以下のように挙げられる。

  • BASICと似た構文を別名として利用できる。
  • 行番号は利用しない(できない)。
  • 構文の大文字・小文字を区別しない。
  • 変数の使用に事前の定義が必要ない(自動的にグローバル変数またはモジュール内定義変数として確保される)。
  • 変数・ラベルはモジュールという他と隔離された名前空間で分離することができる。
  • 変数名に日本語(2バイト文字)を利用できる。
  • ラベルを使用したサブルーチンの別個記述が可能である。
  • DLLをプラグインとして利用することができ、それによってWindowsのさまざまな機能を利用することが出来る。DirectXOpenGLなどの3Dグラフィックスを扱うものもある。
  • プリプロセッサを持つ。
  • COMオブジェクトに対応している。

開発環境

スクリプトエディタ

HSPには専用のスクリプトエディタが付属している。一般的なテキストエディタの機能を有しているほか、コンパイルや外部ツールの呼び出しなど独自の機能も備える。複数のファイルを参照・編集する場合、同一のウインドウ内にタブを用いて表示・切り替えできる。プロジェクトファイルの概念は無い。エディタのエンジンにはFootyが使用されている。

EXE形式で出力できるが、ファイルのアイコン変更は「Let's HSPIC!」や「Sato Icon Changer」等の専用のソフトウェアが必要となる。また、HSP3.5以降(正確には3.5 beta6から)では標準でアイコン書き換え機能が追加され、#packopt命令を利用することによりアイコンを変更できるようになった[10]

現在の最新バージョンであるHSP3.XのリソースはHSP2.Xのリソースとも共通規格でないため、一般的なリソースエディタはもちろんのこと、前記のソフトウェア以外のHSP2.X用に作成された変更ソフトではファイルが壊れてしまう。

コンパイルを行うツールを利用すれば外部エディタでの開発も可能である。

Peasエディタ

パーツ(要素)と呼ばれるものをマウスで配置し配線することで、自動的にHSPのスクリプトを生成するためのオーサリングツールである。HSP3.1より同梱された。

今までプログラミングに触れてこなかった人や、初心者にとっての新しい選択肢となるものの、すべての作業をPeasエディタで行なうことは想定していないとしている[11]

なお、パーツはユーザー自身で制作することも可能である。

HSP Document Library (HDL)

HSPに同梱された関連ドキュメントを検索・観覧するための専用ブラウザである。ソフトウェア本体はsprocketが開発している。HSP3.0からHSP HELP Browserとして標準で同梱され、HSP3.2より同名称になった。

ドキュメントやサンプルスクリプトを検索し、表示することができる。ユーザー自身で新たなドキュメントを追加することが可能で、独自形式のドキュメントファイルを編集・作成するエディタが付属している。

HDLではhs(HDLのコマンドヘルプ)、html、txt、hsp、as(HSPヘッダファイル)の拡張子が付いたファイルを読み込み・表示することができる[12]

言語仕様

主な構文

以下の表はHSP1.x系とHSP2.x系とHSP3.x系との違いである。

項目 HSP1.x系 HSP2.x系 HSP3.x系
定数 未対応 整数、文字列 整数、文字列、実数
変数の型 整数型 整数型、文字列型 整数型、文字列型、実数型、comobj型、モジュール変数(struct)型、ラベル型、拡張型
式の評価 演算子の優先度なし、左方優先 演算子の優先度あり
代入演算子 未対応 +=, -=, ++, -- +=, -=, ++, --のほか *=, /= 等、ほぼすべての代入演算子に対応
関数 未対応 対応(標準関数、ユーザー定義関数、拡張関数)
マクロ 仮対応 対応

HSP3.x系では、関数のサポートなど一部が従来のHSP2.x系と互換性のない書式に変更された。これは添付されている互換マクロを利用することで、(関数を#undefとマクロにより命令風に置き換えるなど)一部は擬似的に互換を取ることが可能である。現在は未対応なものの今後、2.x系と同様、演算子の優先度などに関係なく左優先方式にも対応する予定である。ただし、新しく作成する場合はスクリプトの見やすさの面や他の言語との相互互換性,将来性などのこともあり新方式(関数などを利用した方式)で作成することが推奨されている。

HSP1.x系とHSP2.x系では命令中のラベル名にラベル名であることを明示するアスタリスクが省略できる、変数名やラベル名などに半角英数字以外に全角文字が使用できたりといくつかの仕様上の欠陥がある。HSP3.x系ではラベルのアスタリスク省略はできないように修正されている。システム変数はHSP3.x系で一部廃止され、関数やマクロに置き換わっている。HSP3.x系では拡張プラグインにより様々な構文(変数/命令/関数/システム変数など)を拡張できる。ただし、HSP3.0時点では定数の拡張はできない。

命令リスト

これは、HSPで使う命令の一例である。

一般的な通常命令
命令 意味
mes 文字列を表示する
button 押しボタンを表示する。押された場合、指定されたラベルにジャンプする。
input 入力ボックスを表示する
pos 表示位置を指定する
picload 画像を表示する(ver3.31ベータ版よりも前のバージョンの場合、PNG形式はimgloadという拡張命令と Internet Explorer が必要)
color 色指定(RGB形式で、各要素0~255、十進法で指定)
if もし~ならば~する(分岐命令
font 文字列の大きさ・フォントを指定する
boxf 矩形を描画する
repeat repeatloop間の処理を指定回数繰り返す
loop
goto 指定したラベルにジャンプする
gosub 指定したラベルに行き、return があると元の gosub の次の行へ戻って実行
return
end プログラムを終了する
stop プログラムの実行を一時的に中断する
title タイトルバーに表示する文字列を指定する
screen 大きさ、位置などを指定してスクリーンを作る(bgscr命令で枠なしスクリーンも可能)

コード例

Linux版HSP3における例

#include "hsp3cl.as"
mes "あいうえお"
stop

外部APIとの連携

HSP は外部DLLライブラリやWindows APIとの連携にも対応している。

それぞれプリプロセッサを使用することで、Windowsのコモンコントロールを使用することができる。 また、それらのコントロールを最初から使用できるようにするモジュールスクリプトもHSP パッケージに標準で同梱されている。

その他

一部バージョンにおいて、アンチウィルス製品マルウェアと誤認識される現象が報告されている[13][14]


出典

関連書籍

関連項目

外部リンク

Read other articles:

Roddi commune di Italia Tempat categoria:Articles mancats de coordenades Negara berdaulatItaliaRegion di ItaliaPiedmontProvinsi di ItaliaProvinsi Cuneo NegaraItalia Ibu kotaRoddi PendudukTotal1.541  (2023 )GeografiLuas wilayah9,35 km² [convert: unit tak dikenal]Ketinggian284 m Berbatasan denganAlba La Morra Monticello d'Alba Santa Vittoria d'Alba Verduno SejarahSanto pelindungMaria Diangkat ke Surga Informasi tambahanKode pos12060 Zona waktuUTC+1 UTC+2 Kode telepon0173 ID ISTAT0041...

 

Lot

Untuk tokoh ini dalam sudut pandang Islam, lihat Nabi Lut. Untuk kegunaan lain, lihat Lot (disambiguasi). Lotلوط • לוֹטLot dan putri-putrinya, oleh Artemisia Gentileschi, 1635–1638 (Toledo Museum of Art, Toledo, Ohio)Nama lainLutSuami/istriIstri LotOrang tuaHaranKerabat Terah (kakek) Abraham (paman) Ismael (sepupu) Ishak (sepupu) Lot (Ibrani: לוֹט) adalah tokoh dalam Tanakh, Alkitab, dan Al-Qur'an. Kisah pelariannya dari kehancuran Sodom dan Gomora menjadi salah satu landa...

 

У этого термина существуют и другие значения, см. Капитан Марвел. Для термина «Марвел» см. также другие значения. Капитан Марвелангл. Captain Marvel Официальный постер для кинотеатрального проката в России Жанры супергероикабоевикнаучная фантастикаприключения Режиссёры А�...

Warren Gamaliel Harding Presiden Amerika Serikat ke-29Masa jabatan4 Maret 1921 – 2 Agustus 1923Wakil PresidenCalvin Coolidge PendahuluWoodrow WilsonPenggantiCalvin CoolidgeSenator Amerika Serikat dari OhioMasa jabatan4 Maret 1915 – 13 Januari 1921 PendahuluTheodore BurtonPenggantiFrank WillisWakil Gubernur Ohio ke-28Masa jabatan11 Januari 1904 – 8 Januari 1906GubernurMyron Herrick PendahuluHarry GordonPenggantiAndrew HarrisKetua komite Senat FilipinaMasa jabat...

 

Letak Distrik Ntcheu di Malawi Distrik Ntcheu merupakan sebuah distrik yang terletak di Region Tengah, Malawi. Berbatasan dengan negara Mozambik. Pusat distrik ini biasanya dipanggil BOMA dalam bahasa lokal terletak di Desa Headman Yeneya dan tempat ini biasanya dipanggil Nphate. Distrik ini memiliki luas wilayah 3.424 km². Dengan memiliki jumlah penduduk sebanyak 370.757 jiwa. Terletak di antara kota besar Malawi Blantyre dan Lilongwe. Ibu kota di distrik ini ialah Ntcheu. 14°45′S 3...

 

2015 film Not to be confused with Tangerines (film). TangerineTheatrical release posterDirected bySean BakerWritten by Sean Baker Chris Bergoch Produced by Sean Baker Karrie Cox Marcus Cox Darren Dean Shih-Ching Tsou Starring Kitana Kiki Rodriguez Mya Taylor Karren Karagulian Mickey O'Hagan Alla Tumanian James Ransone Cinematography Sean Baker Radium Cheung Edited bySean BakerProductioncompanies Duplass Brothers Productions Through Films Distributed byMagnolia PicturesRelease dates January...

Voce principale: 1. Fußball- und Sportverein Mainz 05. 1. Fußball- und Sportverein Mainz 05Stagione 2021-2022Sport calcio Squadra Magonza Allenatore Bo Svensson All. in seconda Patrick Kaniuth Babak Keyhanfar Bundesliga8° posto Coppa di GermaniaOttavi di finale Maggiori presenzeCampionato: Burkardt (34)Totale: Burkardt (37) Miglior marcatoreCampionato: Burkardt (11)Totale: Burkardt (14) StadioMewa Arena Maggior numero di spettatori33 305 vs. Bayern Monaco Minor numero di spettat...

 

Data visualization tool This article contains content that is written like an advertisement. Please help improve it by removing promotional content and inappropriate external links, and by adding encyclopedic content written from a neutral point of view. (April 2017) (Learn how and when to remove this template message) Liquid Galaxy in use at the Oceanographic Museum The Liquid Galaxy is an open source project founded by Google. Created in 2008 by Google employee Jason Holt, the Liquid Galaxy...

 

艾德礼伯爵 阁下The Rt Hon. The Earl AttleeKG OM CH PC FRS联合王国首相任期1945年7月26日—1951年10月26日君主乔治六世副职赫伯特·莫里森前任温斯顿·丘吉尔继任温斯顿·丘吉尔联合王国副首相任期1942年2月19日—1945年5月23日(战时内阁)君主乔治六世首相温斯顿·丘吉尔前任职位创立继任赫伯特·莫里森反对党领袖任期1951年10月26日—1955年11月25日君主乔治六世伊丽莎白二�...

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府...

 

Questa voce sull'argomento astronauti statunitensi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Richard SearfossAstronauta della NASANazionalità Stati Uniti StatusDeceduto Data di nascita5 giugno 1956 Data di morte29 settembre 2018 Selezione1990 (Gruppo 13 NASA) Primo lancio18 ottobre 1993 Ultimo atterraggio3 maggio 1998 Altre attivitàPilota collaudatore Tempo nello spazio39 giorni, 3 ore e 18 minuti Missioni STS-90 STS-58 STS-76 Data ritiro...

 

此條目没有列出任何参考或来源。 (2018年1月9日)維基百科所有的內容都應該可供查證。请协助補充可靠来源以改善这篇条目。无法查证的內容可能會因為異議提出而被移除。 克鲁赛罗-达福塔莱萨Cruzeiro da Fortaleza市镇克鲁赛罗-达福塔莱萨在巴西的位置坐标:18°56′45″S 46°40′26″W / 18.9458°S 46.6739°W / -18.9458; -46.6739国家巴西州米纳斯吉拉斯州面积 • �...

Uncle of the poet Robert Burns (1719-1789) Robert BurnesObelisk commemorating Robert and John Burnes at StewartonBorn1719Clochnahill Farm, Kincardineshire, ScotlandDied3 January 1789(1789-01-03) (aged 69–70)Stewarton, ScotlandOccupation(s)Quarryman, gardener, land steward and teacher[1]SpouseAgnes CraigChildren4RelativesWilliam Burnes (brother) Robert Burnes or Robert Burness (1719 – 3 January 1789) was a paternal uncle of the poet Robert Burns. He left the family farm of Clo...

 

Cet article est une ébauche concernant une localité de l'Alaska. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Soldotna En haut à gauche : Joyce K. Carver Memorial Library, Kenai Peninsula Borough, Alaska Building, vue aérienne de la ville de Soldotna, Central Peninsula Hospital, Soldotna Creek Park et du Kenai Peninsula College. Administration Pays États-Unis État Alaska Borough Borough de la péni...

 

Cet article est une ébauche concernant un compositeur anglais. Vous pouvez partager vos connaissances en l’améliorant (comment ?). Pour plus d’informations, voyez le projet musique classique. Thomas Campian Données clés Naissance 12 février 1567 Londres, Royaume d'Angleterre Décès 1er mars 1620 (à 53 ans) Londres, Royaume d'Angleterre Activité principale Compositeur, poète Style Musique de la RenaissanceAyre Activités annexes Médecin Lieux d'activité Londres Année...

Type of technical drawing used to define requirements for engineered items Engineering Drawing redirects here. For the book by Thomas Ewing French, see Engineering Drawing (textbook). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Engineering drawing – news · newspapers · books · scholar · JSTOR (September ...

 

In this Spanish name, the first or paternal surname is Jara and the second or maternal family name is Benegas. This article or section appears to contradict itself. Please see the talk page for more information. (August 2023) Colonel Albino Jara Benegas (28 February 1877 – 15 May 1912) was provisional President of Paraguay from 19 January 1911 to 5 July 1911. A military official, he was a member of the Liberal Party. He came to power during a coup orchestrated by him against previou...

 

Ethnolinguistic map of Italy in the Iron Age, before the Roman expansion and conquest of Italy This list of ancient peoples living in Italy summarises the many different Italian populations that existed in antiquity. Among them, the Romans succeeded in Romanizing the entire Italian peninsula following the Roman expansion in Italy, which provides the time-window in which the names of the remaining ancient Italian peoples first appear in documentation. Many names are exonyms assigned by the an...

1917–1918 Bolshevik organizations Facsimile of the Petrograd Military Revolutionary Committee proclamation of the overthrow of the Russian Provisional Government The Military Revolutionary Committee (‹See Tfd›Russian: Военно-революционный комитет, Voyennо-revolyutsionny komitet) was the name for military organs created by the Bolsheviks under the soviets in preparation for the October Revolution (October 1917 – March 1918).[1] The committees were pow...

 

Chilean politician This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Joaquín Tocornal – news · newspapers · books · scholar · JSTOR (September 2020) (Learn how and when to remove this message) Joaquín TocornalBorn1788Santiago, Viceroyalty of PeruDied1865Santiago, Chile Joaquín Tocornal Jiménez (1788–1865...