pcc12c
- Posted by Beaumont Furniss <bfurniss at IHUG.CO.NZ> Jun 15, 2000
- 627 views
There have been some postings , about PCC12c.* , here's further info' and how I'm using this to gain familiarity with the C language ; ANSI version. Here are the details about pcc12c.* . EU>I agree - I find the PCC (Personal C Compiler) by Mark DeSmet for EU>DOS useful for learning as well. The download is only 173k ! If EU>interested you can search this site EU>http://www.rescript.fsnet.co.uk/windoc/pcc12c.htm I use a QuickBasic , similar to Qbasic , routines to simulate a batch file ; as used in DOS or Euphoria. This is close enough to Euphoria , for someone to construct the equivalent ; with the appropriate instructions for finding PCC12c on your disk , if necessary. My present reference text is Teach yourself C , by Herbert.Schildt , second edition , [ ANSI version ]. There's some variation between ANSI C and the K&R C that PCC12c implements. The *.c files generated have the prefix ex_ . ' 'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ' ' ' PCC redirection code. ' ' Personal C Compiler. ' 'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ' DECLARE SUB Pcc () DECLARE SUB Pcd () DECLARE SUB boxes (level AS INTEGER, room AS INTEGER, down AS INTEGER, along AS INTEGER) DECLARE SUB try () ' not really required. ' 'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ' DIM SHARED st(1 TO 8) AS STRING SHELL "c:\dos\kat.bat" ' a *.bat that changes defaualt screen colour. 'SHELL "c:\dos\kit.bat" ' resets colour. SCREEN 0 CLS COLOR 15, 1 ' 'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ' ' directory where PCC resides. SHELL "cd c:\lang\ctest" ' list of *.c files in this directory , most recent at top. SHELL "dir ex*.c /O > exlist.txt" ' display list. SHELL "c:\edit\edit.exe c:\lang\ctest\exlist.txt" ' select a previous *.c file , or use a new file name. Pcd 'try ' try example ex_5_4a.* , residual code.h SUB boxes (level AS INTEGER, room AS INTEGER, down AS INTEGER, along AS INTE GER) ' box FOR i = 1 TO down FOR j = 1 TO along + 2 LOCATE level + i, room + j PRINT " "; NEXT j NEXT i LOCATE level, room PRINT " É"; FOR j = 1 TO along LOCATE level, room + j + 1 PRINT "Í"; NEXT j PRINT "» "; FOR i = 1 TO down LOCATE i + level, room PRINT " º "; LOCATE i + level, room + along + 1 PRINT " º "; NEXT i LOCATE level + down, room PRINT " È"; FOR j = 1 TO along LOCATE level + down, room + j + 1 PRINT "Í"; NEXT j PRINT "¼ "; ' END SUB SUB Pcc DIM cmd AS STRING DIM str AS STRING ' k$ = "" COLOR 12, 1 LOCATE 2, 4: PRINT " Press Esc key to exit "; k$ = "" FOR j = 1 TO 20 k$ = "" NEXT j WHILE k$ = "" k$ = INKEY$ WEND IF k$ = CHR$(27) THEN EXIT SUB CLS COLOR 14, 1 CALL boxes(1, 1, 6, 76) COLOR 15, 1: LOCATE 4, 5: PRINT "Enter source file name "; : INPUT cmd ' FOR i = 1 TO 2000 '------------------------------------- COLOR 12, 1 LOCATE 2, 4: PRINT " Press Esc key to exit "; k$ = "" FOR j = 1 TO 20 k$ = "" NEXT j WHILE k$ = "" k$ = INKEY$ WEND IF k$ = CHR$(27) THEN EXIT FOR CLS '------------------------------------- 'COLOR 14, 1 'CALL boxes(1, 1, 6, 76) 'COLOR 15, 1 'LOCATE 4, 5: PRINT "Enter source file name "; : INPUT cmd SHELL "cd c:\lang\ctest" str = "c:\edit\edit.exe c:\lang\ctest\" + cmd + ".c" SHELL str COLOR 14, 1 CALL boxes(1, 1, 6, 76) COLOR 15, 1 LOCATE 4, 4: PRINT " Source file name is "; cmd + ".c"; LOCATE 8, 4': COLOR 15, 1: PRINT " "; SHELL "cd c:\lang\ctest" str = "pcc " + cmd + ".c" SHELL str str = "pccl " + cmd + ".o" SHELL str COLOR 15, 1: PRINT SPACE$(81); str = cmd + ".exe" SHELL str NEXT i COLOR 15, 1: CLS : LOCATE 1, 5: PRINT " Finished session "; 'SHELL "c:\dos\kit.bat" 'SLEEP END SUB SUB Pcd DIM cmd AS STRING DIM str AS STRING DIM strg AS STRING '------------------------------------------------------------------------- FOR k = 1 TO 2000 ' CLS COLOR 14, 1 CALL boxes(1, 1, 6, 76) COLOR 15, 1: LOCATE 4, 5: PRINT "Enter source file name "; : INPUT cmd str = "c:\lang\ctest\" + "ex_" + cmd + ".c" strg = "copy " + str + " d:\" SHELL strg str = "d:\" + "ex_" + cmd + ".c" 'CLS ' '--------------------------------------------------------------------- FOR i = 1 TO 2000 '------------------------------------- 'CLS COLOR 14, 1 CALL boxes(1, 1, 6, 76) COLOR 15, 1: LOCATE 4, 4: PRINT " Source file name is "; str; LOCATE 8, 4': COLOR 15, 1: PRINT " "; COLOR 12, 1: LOCATE 2, 4: PRINT " Press Esc key to end editing/compiling "; k$ = "" FOR j = 1 TO 20 k$ = "" NEXT j ' WHILE k$ = "" k$ = INKEY$ WEND IF k$ = CHR$(27) THEN EXIT FOR CLS '--------------------------------------------------------------------- strg = "c:\edit\edit.exe " + str SHELL strg SHELL "d:" LOCATE 8, 3 strg = "pcc " + str SHELL strg strg = "pccl " + "d:\" + "ex_" + cmd + ".o" SHELL strg COLOR 15, 1: PRINT SPACE$(81); strg = "d:\" + "ex_" + cmd + ".exe" SHELL strg SHELL "c:" NEXT i '--------------------------------------------------------------------- SHELL "d:" str = "d:\" + "ex_" + cmd + ".c" strg = "copy " + str + " c:\lang\ctest" SHELL strg str = "d:\" + "ex_" + cmd + ".c" strg = "del " + str SHELL strg str = "d:\" + "ex_" + cmd + ".o" strg = "del " + str SHELL strg str = "d:\" + "ex_" + cmd + ".exe" strg = "del " + str SHELL strg '--------------------------------------------------------------------- SHELL "c:" 'SHELL "cd " CLS COLOR 12, 1: LOCATE 2, 4: PRINT " Press Esc key to exit session "; ' k$ = "" FOR j = 1 TO 20 k$ = "" NEXT j ' WHILE k$ = "" k$ = INKEY$ WEND IF k$ = CHR$(27) THEN EXIT SUB '--------------------------------------------------------------------- NEXT k SHELL "cd " COLOR 15, 1: CLS : LOCATE 1, 5: PRINT " Finished session "; 'SHELL "c:\dos\kit.bat" END SUB SUB try DIM cmd AS STRING DIM str AS STRING DIM strg AS STRING CLS SLEEP cmd = "ex_5_4a" str = "c:\lang\ctest\" + cmd + ".c" strg = "copy " + str + " d:\" SHELL strg SLEEP 'SHELL "d:" str = "d:\" + cmd + ".c" strg = "copy " + str + " c:\lang\ctest" SHELL strg END SUB rem kat.bat [1;15m rem kit.bat [0m Net-Tamer V 1.11 - Test Drive