Table of Contents 1. Introduction 1 1.1. This Manual 1 1.2. Starting Out 2 1.3. Memory Allocation 3 2. Using the Shell Program 5 2.1. Shell Commands 5 2.2. Running Your Program 6 2.3. Program Variables 7 3. The Editor 9 3.1. Introduction 9 3.2. Keys 9 3.3. Screen Layout 9 3.4. Configuration 10 3.4.1. Screen Customization 10 3.4.2. Keyboard Customization 12 3.5. Sample Configurations 13 3.5.1. IBM PC 15 3.5.2. DEC Rainbow 100 15 3.5.3. Heath H19 15 3.5.4. Zenith PC 16 3.5.5. Televideo 910 16 3.6. Editor Commands 16 3.6.1. Exiting from the Editor 16 3.6.2. Cursor Movement 17 3.6.3. Inserting and Deleting 17 3.6.4. Extended Movement 18 3.6.5. Block and Miscellaneous Commands 19 3.6.6. Tabs 20 4. Language Summary 21 4.1. Line Terminators 21 4.2. Comments 21 4.3. Identifiers 21 4.4. Keywords 21 4.5. Constants 22 4.5.1. Numeric Constants 22 4.5.2. Character Constants 22 4.5.3. String Constants 23 4.6. Data Types 23 4.7. Operators 24 4.7.1. Unary Operators 24 4.7.2. Binary Operators 24 4.7.3. Assignment Operator 25 4.7.4. Comma Operator 25 4.8. Program Control Flow Constructs 25 5. The Library Functions 27 5.1. atoi 28 5.2. bdos 28 5.3. dirscan 28 5.4. edit 29 5.5. exit 29 - i - Table of Contents 5.6. fclose 29 5.7. fgetc 29 5.8. fgets 30 5.9. fopen 30 5.10. fputc 31 5.11. fputs 31 5.12. fread 31 5.13. free 32 5.14. fseek and ftell 32 5.15. fwrite 33 5.16. load 33 5.17. malloc 33 5.18. printf 34 5.19. save 35 5.20. scanf 35 5.21. sprintf 35 5.22. sscanf 35 5.23. stmt 36 5.24. strcmp, strncmp 36 5.25. strcpy, strncpy 36 5.26. strlen 37 5.27. system 37 5.28. totok 37 5.29. trace 37 5.30. untok 38 5.31. version 38 6. The Debuger 39 7. APPENDIX A: SCI Language Syntax 41 8. APPENDIX B: Editor Command Summary 46 9. APPENDIX C: Debuger Command Summary 48 10. APPENDIX D: Differences From Small C 49 11. APPENDIX E: Error Messages 51 - ii -