Share to: share facebook share twitter share wa share telegram print page

ZPE Programming Environment

YASS
ZPE logo
ParadigmImperative, functional, object-oriented, procedural
Designed byJamie Balfour
DeveloperJamie Balfour
First appeared2015; 9 years ago (2015)[1]
Stable release
1.12.9 [2] / September 1, 2024; 2 months ago (2024-09-01)
Typing disciplineDynamic, static, weak, strong, gradual[3]
Implementation languageJava, YASS
PlatformCross-platform
OSUnix-like, Windows, macOS
Filename extensions.yas .yex
Websitehttps://www.jamiebalfour.scot/projects/zpe/
Influenced by
C, PHP, Java, JavaScript, VB.NET, C#.NET, SML, Python[3]

ZPE Programming Environment (or simply ZPE), formerly the Zenith Parsing Engine is a general-purpose compiler, parser and runtime environment for the YASS language designed for educational use as well as for its general use. The language it interprets, YASS, is an interpreted, high-level, general-purpose programming language. YASS is largely built upon making the language easy to read and use, with optional support for syntaxes such as curly-bracket syntax. YASS supports dynamic typing or static typing, as well as strong typing and weak typing.

It was started in May 2015 as a planned university project but later was changed to be a replacement for another programming language developing at the time known as BlackRabbit Script, also built by Jamie Balfour. ZPE and YASS were designed to help with the automation of scripts by clearing up the inconsistent syntaxes of other scripting languages.[3] The Zenith Parsing Engine (formerly ZenithParser) powers the underlying parsers, including the CSV, JSON and XML parsers.

The ZPE Programming Environment is written in Java, making it cross-platform. A side effect is that specific plugins and built-in objects are entirely written in Java.

Whilst ZPE is closed source, all plugins, transpilers and additional tools are open-source. The Standard Algorithms library is also open-source and available on Balfour's GitHub page.

YASS

The language interpreted by the ZPE runtime is known as YASS or Yet Another Simple Syntax.[4] Several languages influenced the YASS syntax including C, PHP, Java, JavaScript, VB.NET, C#.NET, SML and Python[3] which has remained largely the same since about version 1.5. ZPE/YASS can be used for general-purpose programming, support client and server communications, and server-side scripting. Some websites are already using ZPE alongside other languages such as PHP.[5]

YASS can also be transpiled to other languages such as Python and PHP.[6]

Features

ZPE features many built-in functions including functions that simplify mathematical problems such as the greater_than_all function, the to_binary, to_octal and to_hexadecimal functions as well as many functions to streamline processing of arrays such as list_process, list_find_duplicates and list_auto_populate. ZPE also features a parser known as the Zenith Parser Engine, which forms the foundation of the whole language processor and performs both lexical analysis and compiler optimisation on textual input.

On the original subsite dedicated to ZPE, a documentation section documents all language constructs, internal functions and syntax.[4]

ZPE was initially built as a planned university project that never came to fruition. In the end, it was eventually used as the replacement for the BlackRabbit Script language that Balfour was developing at the time. ZPE originally had no mathematical parser, meaning functions were used for addition, subtraction, division and multiplication. An example of this early syntax:

$x = 10
$y = 15

$z = add($x, $y)

print($z)

In late 2015, still in version 1.3.x of ZPE, the Real Math Mode (RMM) parser was added. Syntax changed so that it looked a lot more like other languages:

$x = 10
$y = 15

$z = $x + $y

print($z)

To improve performance, the Real Math Mode parser was replaced by the Logical And Mathematical Parser (LAMP) in 2016 and then the Logical And Mathematical Evaluator (LAME) in 2019.[7]

ZPE and YASS also support a mix of strong typing and weak typing in the same script:

$x = 10
declare y as number = 10

print($x)
print(y)

YASS Unfold

YASS Unfold is a syntax analyser that can transform syntax into descriptions. YASS Unfold works based on the AST generated from the code to generate code descriptions. [8]

Transpilers

ZPE also added transpilers to convert YASS to other languages efficiently. These are distributed as plugins and are available on Balfour's GitHub and personal website.

The first transpiler built was the YASS to Python transpiler (known as ZenPy) due to similarities in how both languages work underneath.

Transpilers to convert YASS to PHP and Java also exist but are less mature than ZenPy.[9]

Libraries

ZPE/YASS rely on libraries being developed to extend functionality. The main reason behind this is to reduce the size of the main runtime package. Specific libraries are written in the YASS language itself and then compiled. They are then distributed via the ZULE network, which was added in 2018.[7]

Other libraries are written in native Java. For example, the zpe_mysql library adds MySQL functionalities to the language using a library around six times the size of the original runtime.

ZPE Native

In August 2022, an AArch64 build was compiled using the GraalVM compiler. This offered performance much better than the JRE version alone. ZPE Native can improve performance considerably but is not cross-platform and is only available on current platforms (this includes an EXE for Windows, a Linux-compatible binary, and the AArch build).

References

  1. ^ "ZPE Programming Environment information". ZPE Information. Retrieved 2019-02-02.
  2. ^ "ZPE Changelog". ZPE Changelog. Retrieved 2024-09-01.
  3. ^ a b c d "What is ZPE?". ZPE Documentation. Retrieved 2019-02-02.
  4. ^ a b "ZPE Programming Environment documentation". ZPE Documentation. Retrieved 2019-02-02.
  5. ^ "About this website". About this website. Retrieved 2020-07-24.
  6. ^ "Jamie Balfour's Blog: YASS-Python Transpiler Progress". Jamie Balfour's Blog. Retrieved 2024-06-02.
  7. ^ a b "ZPE Changelog : ZPE Programming Environment Documentation :: jamiebalfour.scot". ZPE Documentation. Retrieved 2019-03-10.
  8. ^ "Jamie Balfour's Blog: YASS Unfold". Jamie Balfour's Blog. Retrieved 2023-10-06.
  9. ^ "Jamie Balfour's Blog: My Python transpiler for YASS is now ZenPy. :: jamiebalfour.scot". Jamie Balfour's Blog. Retrieved 2024-06-29.

Read other articles:

Nepenthes MensaeNepenthes Mensae - perspective viewCoordinates9°11′N 119°25′E / 9.19°N 119.42°E / 9.19; 119.42[1] Nepenthes Mensae is a plateau, and classical albedo feature, in the Amenthes quadrangle of Mars. Its location is centered at 9.19 north latitude and 119.42 east longitude. It is 2,176.23 km (1,352.25 mi) long.[1][2] The name Nepenthe is a Greek word which literally means without grief (ne = not, penthos = grief) and, i…

Untuk kegunaan lain, lihat Trinidad dan Tobago. Republik Trinidad dan TobagoRepublic of Trinidad and Tobago (Inggris) Bendera Lambang Semboyan: Together we aspire, together we achieve (Inggris: Bersama-sama kita berangan-angan, bersama-sama kita mencapai)Lagu kebangsaan: Forged from the Love of LibertyIbu kotaPort of Spain10°40′N 61°31′W / 10.667°N 61.517°W / 10.667; -61.517Kota terbesarSan Fernando10°17′N 61°28′W / 10.283°N 61.467…

2014 AFC Women's Asian CupTournament detailsHost country VietnamDates14–25 MayTeams8 (from 1 confederation)Venue(s)2 (in 2 host cities)Final positionsChampions Japan (1st title)Runners-up AustraliaThird place ChinaFourth place South KoreaTournament statisticsMatches played17Goals scored67 (3.94 per match)Attendance45,250 (2,662 per match)Top scorer(s) Yang Li Park Eun-sun (6 goals)Best player(s) Aya Miyama[1]← 2010 2018 → Interna…

Milot Rashica Rashica bersama Vitesse pada tahun 2016Informasi pribadiNama lengkap Milot RashicaTanggal lahir 28 Juni 1996 (umur 27)Tempat lahir Vučitrn, FR YugoslaviaTinggi 178 m (584 ft 0 in)Posisi bermain Gelandang serangInformasi klubKlub saat ini VitesseNomor 7Karier junior2010–2013 VushtrriaKarier senior*Tahun Tim Tampil (Gol)2013–2015 Vushtrria 21 (9)2015– Vitesse 80 (13)Tim nasional‡2012 Albania U17 3 (1)2014 Albania U19 3 (0)2015–2016 Albania U21 6 (1)2016…

Election in Nebraska Main article: 1928 United States presidential election 1928 United States presidential election in Nebraska ← 1924 November 6, 1928 1932 →   Nominee Herbert Hoover Al Smith Party Republican Democratic Home state California New York Running mate Charles Curtis Joseph T. Robinson Electoral vote 8 0 Popular vote 345,745 197,959 Percentage 63.19% 36.18% County Results Hoover   50-60%   60-70%   70-80% &…

Hyundai ElantraInformasiProdusenHyundai Motor CompanyMasa produksi1990–sekarangBodi & rangkaKelasKompakTata letakFF layoutKronologiPendahuluHyundai StellarPenerusHyundai i30 (hatchback) Hyundai Elantra (bahasa Korea: 현대 엘란트라), atau Hyundai Avante (현대 아반떼) di Korea Selatan, adalah mobil kompak produksi Hyundai yang diluncurkan pertama kali bulan Oktober 1990.[1] Saat ini Hyundai Elantra memasuki generasi kelimanya. Hyundai Elantra dinamai Lantra di pasar Au…

5th season of the top-tier football league in Uruguay Football league seasonPrimera DivisiónSeason1905ChampionsCURCC (3rd title)Matches played20Goals scored48 (2.4 per match)Top goalscorer Aniceto Camacho (6) (CURCC)← 1903 1906 → The 1905 Primera División was the 5th season of top-flight football in Uruguay. CURCC won its 3rd. league title, after winning all matches played. Overview The tournament consisted of a round-robin championship. It involved five teams, and was marked by the d…

Sporting event delegationSweden at the1932 Summer OlympicsIOC codeSWENOCSwedish Olympic CommitteeWebsitewww.sok.se (in Swedish and English)in Los AngelesCompetitors81 [1] in 12 sportsFlag bearerBo LindmanMedalsRanked 4th Gold 9 Silver 5 Bronze 9 Total 23 Summer Olympics appearances (overview)189619001904190819121920192419281932193619481952195619601964196819721976198019841988199219962000200420082012201620202024Other related appearances1906 Intercalated Games Sweden competed at t…

Un fluide non newtonien est un fluide qui ne suit pas la loi de viscosité de Newton, c'est-à-dire une viscosité constante indépendante de la contrainte. Dans les fluides non newtoniens, la viscosité peut changer lorsqu'elle est soumise à une force pour devenir plus liquide ou plus solide. Le ketchup, par exemple, devient plus coulant lorsqu'il est secoué et se comporte donc de manière non newtonienne. De nombreuses solutions salines et polymères fondus sont des fluides non newtoniens, t…

RomaMusim 1990–91PresidenDino ViolaManajerOttavio BianchiStadionStadio OlimpicoSerie A9Coppa ItaliaJuaraUEFA CupRunners-upPencetak gol terbanyakLiga: Rudi Völler (11)Seluruh kompetisi: Rudi Völler (21) Kostum kandang Kostum tandang ← 1989–90 1991–92 → Associazione Sportiva Roma pada musim ini berhasil meraih juara Coppa Italia dan mencapai final Piala UEFA, sekaligus menjadi kompensasi atas performa klub yang bermasalah di liga Italia. Di bawah kepelatihan Ottavio Bianchi, Roma hanya…

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Warisa, Talawaan, Minahasa Utara – berita · surat kabar · buku · cendekiawan · JSTOR artikel ini perlu dirapikan agar memenuhi standar Wikipedia. Tidak ada alasan yang diberikan. Silakan kembangkan artikel …

Football league seasonPeruvian Primera DivisiónSport Boys, championSeason1935Dates15 September 1935 –20 October 1935ChampionsSport Boys (1st title)Matches played6Goals scored25 (4.17 per match)Top goalscorer Jorge Alcalde (8)← 1934 1937 → The 1935 season of the Peruvian Primera División (Primera A) was the 20th season of top-flight Peruvian football. A total of 5 teams competed in this league. The national champions were Sport Boys.[1][2] Matches were not completed; …

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:СинапсидыКл…

追晉陸軍二級上將趙家驤將軍个人资料出生1910年 大清河南省衛輝府汲縣逝世1958年8月23日(1958歲—08—23)(47—48歲) † 中華民國福建省金門縣国籍 中華民國政党 中國國民黨获奖 青天白日勳章(追贈)军事背景效忠 中華民國服役 國民革命軍 中華民國陸軍服役时间1924年-1958年军衔 二級上將 (追晉)部队四十七師指挥東北剿匪總司令部參謀長陸軍總…

Social discrimination against autistic people Various connections have been made between violence and autism within social narratives. According to public opinion, violent behavior is common for autistic individuals, but evidence does not support autism spectrum disorder (ASD) as a predisposition to delinquency or crime. Autistic people are likely to be victims of bullying, abuse and other violence. Violence against autistic people 14-year-old autistic adolescent in sensory withdrawal (or shutdo…

Part of a series onBritish law Acts of Parliament of the United Kingdom Year      1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879…

Professional wrestling championship Not to be confused with NWA United National Championship or NWA United National Heavyweight Championship. NWA National ChampionshipThe current NWA National Championship belt (2018-present)DetailsPromotionNWADate establishedJanuary 12, 1980Current champion(s)Thom LatimerDate wonMarch 2, 2024Other name(s) NWA National Heavyweight Championship (1980–2018) NWA National Championship (2018–present) StatisticsFirst champion(s)Austin IdolMost reignsDamien Wayne, P…

Державний комітет телебачення і радіомовлення України (Держкомтелерадіо) Приміщення комітетуЗагальна інформаціяКраїна  УкраїнаДата створення 2003Керівне відомство Кабінет Міністрів УкраїниРічний бюджет 1 964 898 500 ₴[1]Голова Олег НаливайкоПідвідомчі орг…

周處除三害The Pig, The Snake and The Pigeon正式版海報基本资料导演黃精甫监制李烈黃江豐動作指導洪昰顥编剧黃精甫主演阮經天袁富華陳以文王淨李李仁謝瓊煖配乐盧律銘林孝親林思妤保卜摄影王金城剪辑黃精甫林雍益制片商一種態度電影股份有限公司片长134分鐘产地 臺灣语言國語粵語台語上映及发行上映日期 2023年10月6日 (2023-10-06)(台灣) 2023年11月2日 (2023-11-02)(香港、…

2020年夏季奥林匹克运动会波兰代表團波兰国旗IOC編碼POLNOC波蘭奧林匹克委員會網站olimpijski.pl(英文)(波兰文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員206參賽項目24个大项旗手开幕式:帕维尔·科热尼奥夫斯基(游泳)和马娅·沃什乔夫斯卡(自行车)[1]闭幕式:卡罗利娜·纳亚(皮划艇)[2…

Kembali kehalaman sebelumnya