Interpreter for course - Analysis of Programing Languagues. The idea of this language is based on simple fact, that all algorithms are already written in some kind of pseudo code, so why do not write a simple interpreter for that.
To build this interpreter just run bash script
./make.bash
For building is necessary flex and bison. Current code is supported only by GNU/Linux and Mac OS X operating systems.
The starting point of every code is the main function, which is mandatory.
Like every language even ours Pseudo-Code supports basic arithmetic operation as +-/*<>!=.
Each variable must be defined this way A and currently we are supporting only integers.
Arrays are indexed from 1 and can be defined by the following way
func main ()
  A = 1,2,3
end func
Access or modify array elements is possible by the usual way
func main ()
  A = 1,2,3
  print A[1] //1
  A[1] = 99 
  print A[1] //99
end func 
This language support only one type of loops. It's basic for loops with syntax like that
func main ()
 for i from 1 to N do
    print i
 end for
end func
This language support just basic if and else condtion with syntax like that
func main ()
  if A > B then      
      //DO SOMETHING
  end if
end func
or example of if-else statement
func main ()
  if A > B then      
      //DO SOMETHING
  else
      //DO SOMETHING ELSE
  end if
end func
Functions are defined just with special keyword func and every function must be ended with function ending end func. Return variable has the same name as function. Here is a simple example
func foo( A )
    foo = A + 1
end func
The following functions are natively built in Pseudo-Code
func main ()
  a = 5
  b = 6
  swap(a, b)
  print a // 6
  print b // 5 
end func
func main ()
  A = 1,2,3,4,5,6
  print len(A) // 6
  B = 0
  print len(B) // 1
end func
As for every language let's start with the most important
func main ()
  print 'Hello World!'
end func
Example of calling function with an argument
func foo (c)
  print c
end func
func main ()
  c = 10
  foo(c) // 10
end func
Next example is simple bubble sort on array of integers
func bubblesort( a )
	N = len(a)
    for i from 1 to N do
        for j from 1 to N - 1 do
           if a[j] > a[j + 1] then
              swap( a[j], a[j + 1] )
           end if
        end if
    end for   
end func