Scriptol.com

Contoh program Scriptol

Kode sumber ini telah diuji dengan kompiler PHP Scriptol, kompiler Scriptol JavaScript dan kompiler Scriptol C ++ / Binary.

Rekursi

Algoritma Fibonacci Rekursif. Menghitung angka Fibonacci
const int fibmax = 16
int z = 0

int fib(int n)
  if n <= 1 ? z = n
  else
     z = 0 + fib(n - 1) + fib(n - 2)
  /if
return z

for int i in 0..fibmax
  print "fib($i)=" , fib(i)
/for

Algoritma Iterative Fibonacci

 int fibmax = 20<
    int fibonacci(int     n) 
    int u = 0 
    int v = 1
    int t
    for int i in 2 .. n 
      t = u + v 
      u = v 
      v = t 
    /for 
 return v 

 for int x in 1..fibmax  echo "fib("     , x , ") ", fibonacci(x), "\n" 
Unduh sumber yang dikompilasi ke PHP, JavaScript dan C ++ .

Array, membandingkan dua file

Bandingkan dua file teks yang dimuat ke dalam array.
array f1, f2
if argsize <> 3 ? die("usage:  fcomp file1 file2")
echo "Comparing ", arglist[1]," ", arglist[2] , ": "
 
if not file_exists(arglist[1]) ? die(arglist[1] + " not found")
if not file_exists(arglist[2]) ? die(arglist[2] + " not found")
f1.load(arglist[1])
f2.load(arglist[2])
if f1.size() <> f2.size() ? die("sizes differ")
for int i in 0..f1.size() - 1
  if f1[i] <> f2[i] ? die("files differ")
/for
print "no difference found."

Fungsi terintegrasi

Waktu saat ini atau tanggal dan waktu modifikasi terakhir file.
print "Example of date and time"
print "Format ISO 8601 (PHP 5/Scriptol C++)"
real d = time()
print "Current date and time:", date("c", d)
d = filetime("exdate.sol")
text filedate = date("c", d)
print "Date of this file:", filedate[ .. 9]

Garis komando

"Halo kamu!" program. Fungsi input dan output dasar pada baris perintah.
text name
input "What is you name? ", name
print "Hello", name  
Melewati argumen di baris perintah.
int main(int argnum, array arglist)
  print argnum, "arguments"
  for int i, var v in arglist             // scan the array
    print "$i)", v                        // display index and value
  /for
return 0

main($argc, $argv)  // $argv and $argc are system variables.

Kelas

Kelas sederhana dengan satu metode. Hitung kemunculan kata dalam sebuah string.
class Words
  int count(text base, text sea)
  int ctr = 0
  int i = 0
  while forever
    i = base.find(sea, i)
    if i = nil break
      i + 1
      ctr + 1
  /while
  return ctr
/class

Words demos
text sample = "a b c de a hello a"
print "Number of words:", demos.count(sample, "a")
Metode pewarisan dan statis. Mendefinisikan kelas dan sub-kelas. Instance, metode dan metode statis.
class Car
    int power = 850
    int getPower() return power
    
    static text color(int c)
        text tc = "other"
        if c
        = 1: tc = "blue"
        = 2: tc = "green"
        = 4: tc = "red"
        /if
    return "color is " + tc
    
/class

class FormulaOne is Car
    int speed
    int getSpeed()
        speed = getPower() * 2 / 5
    return speed
/class

FormulaOne f1
print f1.power
print f1.getPower()
print f1.getSpeed()
print FormulaOne.color(4)  

Grafik menggunakan GD (Scriptol PHP)

Gambar sebuah tombol. Buat tombol dengan label.
include "phpgd.h"
include "image.sol"

print "Program Button - Testing GD"

Image button
button.create(88,31)
int black = button.createColor(0, 0, 0)
int white = button.createColor(255,255,255)
int green = button.createColor(0, 192, 0)

# filling background and drawing borders
button.fill(green)
button.line(0,0,87,0, white)
button.line(0,0,0,30, white)
button.line(0,30,87,30, black)
button.line(87,0,87,30, black)

# now, writing a label
button.setFontSize(5)
button.write(26, 8, "Label", black)

text bname = "button.jpg"
button.saveJpeg(bname, 100)
print bname,"created"

XML dibuat sederhana

Anda memiliki file XML dan Anda ingin mengakses konten.
Dimungkinkan dalam Scriptol 2 untuk menggunakan dict dan menetapkan nilai ke properti.
Untuk memuat file di scriptol 2, cukup tulis:
dict d
d.load("article.xml")
Ini isinya:
dict d = {
  "articles" : {
    "article": {
       "name" : "Internet",
       "title" : "My article",
       "data" : "Here is the story I am speaking of..."
     }
}
Ini dapat disimpan dalam file XML:
d.store("article.xml")
File XML dibuat:
<?xml version="1.0" ?>
<articles>
  <article name="Internet" title="My article" >
       Here is the story I am speaking of...
  </article>
</articles>

Menghitung kejadian substring

Count adalah metode kelas String.
class String
  int count(text base, text sea) 
    int ctr = 0
    int i = 0
    while forever
      i = base.find(sea, i)   // return the position, if found
      if i = nil break        // else, return nil (not in list).
      i + 1      ` advancing the pointer inside the base text
      ctr + 1   ` counter of occurences
    /while
  return ctr
/class

String str           // an instance of String 
print str.count("somestring", "string")

Menggunakan antarmuka pengguna grafis GTK (Scriptol C ++)

include "gtk.sol"

include <gtk/gtk.h>
int main(int argc, array argv)
  GtkWidget window = null
  gtk_init(null, null)
  window = gtk_window_new($GTK_WINDOW_TOPLEVEL)
  gtk_widget_show(window)
  gtk_main()
return 0 

Sumber lainnya ...
Dokumentasi
Demo skriptol
Kompiler Scriptol ke JavaScript
Compiler Scriptol to JavaScript mengimplementasikan versi 3 bahasa, diluncurkan pada 2016.
Mengkompilasi Scriptol ke JavaScript dan dapat digunakan baik dari baris perintah dengan Node.js atau dalam PWA dengan halaman HTML. Dapat mengakses kode JS secara langsung tanpa pembungkus. 
Versi baris perintah memerlukan scriptol.js sementara halaman HTML harus menyertakan scriptolbrowser.js.
Scriptol ke PHP
Kompiler Scriptol ke PHP mengimplementasikan versi 2 dari bahasa.
Kompiler Scriptol-PHP mengubah program Scriptol ke PHP dan membuat skrip atau halaman web dinamis . Kode PHP dapat ditafsirkan pada berbagai platform oleh penerjemah PHP.
Scriptol ke C ++ dan biner
Kompiler Scriptol ke C ++ mengimplementasikan ekstensi JavaScript Scriptol 3 dikurangi.
Berorientasi pada objek
Kelas dan warisan.
Berorientasi pada tujuan
Tetapkan tujuan untuk mencapai secara sinkron dan asinkron.  Lebih
Pemrograman reaktif
Program suka di spreadsheet.  Lebih
XML, JSON
Anda dapat memuat file XML ke dalam array asosiatif multidimensi.
Dan juga...
Pencocokan pola. 
Janji. 
Async / tunggu. 
Struktur kontrol yang diperluas. 
Dll ...
Berita tentang Scriptol
Lihat halaman perubahan untuk versi bahasa terakhir.
  • 2018 Juni 12. Scriptol ke C ++ 18.6 dirilis.
  • 2018 26 Mei. Scriptol ke PHP 7 dirilis dalam versi 64 bit.
  • 2018 6 Februari, Scriptol to JavaScript 2.4 dirilis untuk Windows.
  • 2017 12 Juni. Scriptol untuk JavaScript 2.1 dirilis untuk windows. Mendukung kasing sakelar.
  • 2017 12 Juni. Scriptol ke C ++ dan binary 17.6 dirilis untuk windows. Mendukung Scriptol 3.
  • 2016 21 Juli. Scriptol ke JavaScript 1.8.2 untuk Windows dan Linux dirilis.
  • 2016 2 Juli. Kompiler Scriptol ke PHP sekarang mendukung PHP 7. Masih kompatibel dengan PHP 5.
  • 2016 Juni 14. Scriptol ke JavaScript 1.8 untuk Windows dirilis. Dukungan untuk modul.
  • 2015 26 Oktober. Scriptol ke JavaScript 1.7.1 tersedia untuk Windows dan Linux.
  • 2015 18 September. Scriptol to JavaScript 1.7 dirilis.
  • 2015 11 Agustus. Scriptol untuk JavaScript 1.6 dirilis.
  • 2015 17 Juni. Scriptol ke JavaScript 1.5.3 untuk Linux dirilis. Ini adalah versi beta.
  • 2015 Juni 16. Scriptol ke PHP 15.6 dirilis untuk Linux.
  • 2015 Juni 10. Scriptol ke PHP 15.6 dirilis untuk Windows.
  • 2015 Juni 09. Scriptol ke JavaScript 1.5.3 dirilis.
Lanjutan

Tidak ada komentar

Posting Komentar