program pascgen (input, output);

begin
for X := 8+V*((8*1+(X))) to L+L+8*U*Z do
while U*0 < ((5+4)*(L)*9*E) do
Y := D
end

  <script>
  var reccount = 0;
  var reccountmax = 256;
  var reccountexpr = 0;
  var reccountexprmax = 16;
  
  var propabilityif = 3; 
  var propabilitywhile = 6; 
  var propabilityfor = 12;
  var propabilityassignment = 15;
  var propabilitycompound = 3;
  var propabilityspecial = 12;


  
  program ();
  
  function program () {
    programheading ();
    block ();
  }
  function programheading () {
    window.document.write ("program pascgen (input, output);

")
  }
  function block () {
    declarationpart ();
    statementpart ();
  }
  function declarationpart () {
  
  }
  function statementpart () {
    window.document.write ("begin
");
    window.document.write ("");
    statmnt ();
    window.document.write ("
");   
    window.document.write ("end
");
  }
  function statmnt () {
    if (reccount < reccountmax) {
        reccount ++;
        statement ();
        if (Math.floor (Math.random ()*2) == 1) {
            window.document.write (";
");
            statmnt ();
        }
    }
    else
        window.document.write ("Number of recursive function calls exceedet");
  }
  function statement () {
    if (reccount < reccountmax) {
        reccount ++;
        Math.floor (Math.random ()*2);
        simplestatement ();        
    }
    else
        window.document.write ("Number of recursive function calls exceedet");
  }
  function simplestatement () {
    if (reccount < reccountmax) {
        reccount ++;
        r = Math.floor (Math.random ()*(propabilityassignment + propabilitycompound + propabilityspecial));
        if (r <= propabilityassignment) {
            reccountexpr = 0;
            assignmentstatement ();
        }
        else if ((r > propabilityassignment) && (r < (propabilityassignment + propabilitycompound))) 
            compoundstatement ();
        else if ((r > (propabilityassignment+propabilitycompound)) && (r < (propabilityassignment + propabilitycompound + propabilityspecial))) 
            specialstatement ();

    }  
    else
        window.document.write ("Number of recursive function calls exceedet");
  }
  function assignmentstatement () {
    window.document.write (String.fromCharCode(Math.floor (Math.random ()*26) + 65) + " := ");
    numexpr ();
    //window.document.write ("
");
  }
  function compoundstatement () {
    if (reccount < reccountmax) {
        reccount ++;
        window.document.write ("begin
");
        window.document.write ("");
        statmnt ();
        window.document.write ("");   
        window.document.write ("end");
    }
    else
        window.document.write ("Number of recursive function calls exceedet");
  }
  function specialstatement () {
    if (reccount < reccountmax) {
        reccount ++;
        r = Math.floor (Math.random ()*(propabilityif + propabilitywhile + propabilityfor));
        if (r <= propabilityif) 
            ifstatement ();
        else if ((r > propabilityif) && (r <= (propabilityif + propabilitywhile)))   
            whilestatement ();
        else if ((r > (propabilityif + propabilitywhile)) && (r <= (propabilityif + propabilitywhile + propabilityfor)))
            forstatement ();
    }  
    else
        window.document.write ("Number of recursive function calls exceedet");  
  }
  function ifstatement () {
    if (reccount < reccountmax) {
        reccount ++;
        window.document.write ("if ");
        condition ();
        window.document.write (" then
");
        window.document.write ("");
        statement ();
        window.document.write ("");
        if (Math.floor(Math.random ()*2) == 0) {
            window.document.write ("else
");
            window.document.write ("");
            statement ();
            window.document.write ("");
        }
    }
    else
        window.document.write ("Number of recursive function calls exceedet");
  }
  function whilestatement () {
    if (reccount < reccountmax) {
        reccount ++;
        window.document.write ("while ");
        condition ();
        window.document.write (" do
");
        window.document.write ("");
        statement ();
        window.document.write ("");
    }
    else
        window.document.write ("Number of recursive function calls exceedet");
  }
  function forstatement () {
      if (reccount < reccountmax) {
        reccount ++;
        window.document.write ("for  ");
        assignmentstatement ();
        window.document.write (" to  ");
        reccountexpr = 0;
        numexpr ();
        window.document.write (" do
");
        window.document.write ("");
        statement ();
        window.document.write ("");
    }
    else
        window.document.write ("Number of recursive function calls exceedet");
  }

  function condition () {
    boolexpr ();
  }
  function boolexpr () {
    reccountexpr = 0;
    numexpr ();
    window.document.write (" < ");
    reccountexpr = 0;
    numexpr ();
  }
  
  function numexpr () {
    term ();
    numexpr2 ();
  }
  function numexpr2 () {
    reccountexpr++;
    if (reccountexpr > reccountexprmax)
        return;
    if (Math.floor (Math.random ()*2) == 1) {
        window.document.write ('+');
        term ();
        numexpr2 ();
    }
  }
  function term () {
    factor ();
    term2 ();
  }
  function term2 () {
    reccountexpr++;
    if (reccountexpr > reccountexprmax)
        return;
    if (Math.floor (Math.random ()*2) == 1) {
        window.document.write ('*');
        factor ();
        term2 ();
    }
  }
  function factor () {
    if (reccountexpr < reccountexprmax) {
        reccountexpr++;
        if ((r = Math.floor (Math.random ()*3)) == 0) 
            window.document.write (Math.floor (Math.random ()*10));
        else if (r == 1) 
            window.document.write (String.fromCharCode(Math.floor (Math.random ()*26) + 65));
        else if (r == 2){
            window.document.write ('(');
            numexpr ();
            window.document.write (')');
        }
    }
    else {
        if ((r = Math.floor (Math.random ()*2)) == 0) 
            window.document.write (Math.floor (Math.random ()*10));
        else if (r == 1) 
            window.document.write (String.fromCharCode(Math.floor (Math.random ()*26) + 65));
        return;
    }
  }
  
  
    var x = document.getElementById ("myscript");
  var content = myscript.innerHTML;
  content = content.replace ("<", "<");
  content = content.replace (">", ">");
  content = content.replace(/(?:\r\n|\r|\n)/g, '
');
  content = content.replace(/ /g, " "); 
  window.document.write (content);
  program pascgen (input, output);

begin
for  X := 8+V*((8*1+(X))) to  L+L+8*U*Z do
while U*0 < ((5+4)*(L)*9*E) do
Y := Dend