=====BBC BASIC Language===== (Articles about the editor and compiler have been moved to [[/Program%20Editor%20and%20IDE|Program Editor and IDE]])\\ \\ ==== BASIC programs ==== * [[/Alternative%20comment%20styles|Alternative comment styles]] * [[/Alternative%20FOR%20NEXT%20behaviour|Alternative FOR NEXT behaviour]] * [[/Detokeniser|Detokenising tokenised code]] * [[/Discovering%20how%20a%20program%20was%20run|Discovering how a program was run]] * [[/Finding%20the%20BBC%20BASIC%20installation%20directory|Finding the BBC BASIC installation directory]] * [[/Format|Finding saved BASIC file format]] * [[/Finding%20the%20version%20number|Finding the version number]] * [[/Fitting%20programs%20in%20the%20demo%20version|Fitting programs in the demo version]] * [[/How%20to%20avoid%20GOTOs|How to avoid GOTOs]] * [[/Notes%20for%20RISC%20OS%20users|Notes for RISC OS users]] * [[/Object%20Orientated%20programming|Object Orientated programming]] * [[Running a BAS file from the command prompt|Running a BAS file from the command line]] * [[/Simulating%20CONTINUE|Simulating CONTINUE]] * [[/Simulating%20RESUME%20and%20RESUME%20NEXT|Simulating RESUME and RESUME NEXT]] * [[/Tokeniser|Using the tokeniser]] ==== Debugging ==== * [[/Memory%20usage%20monitor|Memory usage monitor]] * [[/Getting%20the%20current%20line%20number|Getting the current line number]] * [[/Listing%20the%20line%20an%20error%20occurs%20in%20ON%20ERROR|Listing the line an error occurs in ON ERROR]] * [[/Pausing%20under%20program%20control|Pausing under program control]] ==== Error handling ==== * [[/Cascaded%20error%20handling|Cascaded error handling]] * [[/Cascaded%20ON%20CLOSE%20handling|Cascaded ON CLOSE handling]] * [[/Displaying%20program%20errors%20in%20a%20message%20box|Displaying program errors in a message box]] * [[/Simulating%20RESUME%20and%20RESUME%20NEXT|Simulating RESUME and RESUME NEXT]] * [[/Structured%20Exception%20Handling|Structured Exception Handling]] * [[/Verbose%20error%20messages|Verbose error messages]] ==== Number manipulation ==== * [[/Converting%20Binary%20Coded%20Decimal|Converting Binary Coded Decimal]] * [[/Finding%20the%20parity%20of%20a%20number|Finding the parity of a number]] * [[/Handling%20unsigned%2032-bit%20values|Handling unsigned 32-bit values]] * [[/High%20Quality%20Random%20Number%20Generation|High Quality Random Number Generation]] * [[Hyperbolic functions]] * [[/Modulo%20integer%20arithmetic|Modulo integer arithmetic]] * [[/Non-integer%20modulo%20operation|Non-integer modulo operation]] * [[/Notes%20on%20the%20use%20of%20RND|Notes on the use of RND]] * [[/Number%20conversion%20in%20BASIC|Number conversion in BASIC]] * [[/Rounding%20functions|Rounding functions]] * [[Saturation arithmetic]] * [[/Short-circuit%20evaluation|Short-circuit evaluation]] * [[/Simplifying%20arithmetic%20using%20strings|Simplifying arithmetic using strings]] * [[/The%20ATAN2%20function|The ATAN2 function]] * [[/Using%2016-bit%20floating%20point%20values|Using 16-bit floating point values]] * [[/Using%2032-bit%20floating%20point%20values|Using 32-bit floating point values]] ==== String manipulation ==== * [[/Changing%20the%20case%20of%20a%20string|Changing the case of a string]] * [[/Counting%20the%20characters%20in%20a%20Unicode%20string|Counting the characters in a Unicode string]] * [[/Data%20without%20DATA|Data without DATA]] * [[/Reversing%20a%20string|Reversing a string]] * [[/Sorting%20the%20characters%20in%20a%20string|Sorting the characters in a string]] * [[/Substituting%20characters%20in%20a%20string|Substituting characters in a string]] * [[/Using%20regular%20expressions|Using regular expressions]] ==== Variables, arrays, structures, data types ==== * [[/Aligning%20structures|Aligning structures]] * [[/Allocating%20arrays%20using%20the%20Windows%20API|Allocating arrays using the Windows API]] * [[/allocating_and_freeing_memory_blocks|Allocating and freeing memory blocks]] * [[/Avoiding%20resource%20leaks|Avoiding resource leaks]] * [[/Clearing%20the%20contents%20of%20a%20structure|Clearing the contents of a structure]] * [[/Creating%20an%20array%20alias|Creating an array alias]] * [[/Deconstructing%20arrays|Deconstructing arrays]] * [[/Emulating%20the%20C%20assignment%20function|Emulating the C assignment function]] * [[/fast_variables|Fast variables]] * [[finding_sum_mod_partial_array|Finding the SUM or MOD of a partial array]] * [[/Finding%20the%20size%20of%20an%20array%20in%20a%20structure|Finding the size of an array in a structure]] * [[/Forcing%20a%20variable%20to%20exist|Forcing a variable to exist]] * [[/Handling%20unsigned%2032-bit%20values|Handling unsigned 32-bit values]] * [[/Interpreter%20internal%20variables|Interpreter internal variables]] * [[Lambdas (anonymous functions)]] * [[/Memory%20usage%20monitor|Memory usage monitor]] * [[/Passing%20array%20and%20structure%20parameters|Passing array and structure parameters]] * [[/Passing%20substructures%20to%20procedures|Passing substructures to procedures]] * [[/Pseudo-variable%20side%20effects|Pseudo-variable side effects]] * [[/Re-dimensioning%20arrays|Re-dimensioning arrays]] * [[/Reading%20and%20writing%20arrays%20in%20files|Reading and writing arrays in files]] * [[/Returning%20an%20array%20from%20a%20function|Returning an array from a function]] * [[/Searching%20ordered%20lists|Searching ordered lists]] * [[/Sharing%20PRIVATE%20variables|Sharing PRIVATE variables]] * [[/Simulating%20a%20union|Simulating a union]] * [[/Sorting%20the%20characters%20in%20a%20string|Sorting the characters in a string]] * [[/sub-structure_arrays|Sub-structure arrays]] * [[/Using%2016-bit%20floating%20point%20values|Using 16-bit floating point values]] * [[/Using%2032-bit%20floating%20point%20values|Using 32-bit floating point values]] * [[variable_length_array_structure|Variable-length array in a structure]] * [[/Whole-array%20operations%20in%20structures|Whole-array operations in structures]] * [[/Writing%20to%20VDU%20variables|Writing to VDU variables]]