gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
mjc2wsl - add warnings and comments when reading and writing chars that are not conve...
[mjc2wsl.git] / src / mjc2wsl.java
index d098bd8..c8da105 100644 (file)
@@ -406,16 +406,13 @@ public class mjc2wsl{
                        }
 
                        case call: {
-                               prl(cmdToMStack(counter+2));
                                prl("CALL a" + (counter + get2()) + ";");
                                break;
                        }
 
                        case return_: {
-                               prl("IF EMPTY?(mjvm_mstack) THEN CALL Z ELSE");
+                               prl("IF EMPTY?(mjvm_mstack) THEN CALL Z FI");
                                //else we let things return             
-                               prl(cmdFromMStack("tempa"));
-                               prl("SKIP FI");
                                prl("END b"+counter+" ==");
                                break;
                        }
@@ -434,23 +431,30 @@ public class mjc2wsl{
                                break;
                        }
 
-                       //TODO read, print
-                       case read: {
+                       // read, print
+                       case read:{
+                               //TODO make it a char for read
+                               message("char is read like a number", M_WAR);
+                               prl(createComment("char is read like a number",C_SPEC));
+                       }
+                       case bread: {
                                prl("tempa := @String_To_Num(@Read_Line(Standard_Input_Port));");
                                prl(cmdToEStack("tempa"));
                                break;
                        }
 
                        // the prints
-                       case bprint: {
-                               prl(getTopTwo());
-                               prl("PRINT(tempb);");
-                               break;
+                       case print:{
+                               // TODO need to make it a char on print
+                               message("chars will be printed as number codes", M_WAR);
+                               prl(createComment("char will be printed as a number code",C_SPEC));
                        }
-                       case print: {
-                               // TODO need to make it a char
+                       case bprint: {
+                               // TODO printing numbers needs different lengths of spacing
                                prl(getTopTwo());
-                               prl("PRINT(tempb);");
+                               pr(createComment("print spacing",C_SPEC));
+                               prl("IF tempa>1 THEN FOR i:=2 TO tempa STEP 1 DO PRINFLUSH(\" \") OD FI;");
+                               prl("PRINFLUSH(tempb);");
                                break;
                        }
 
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner