Swordfish is a highly structured, modular compiler for the PIC18 family of PIC microcontrollers.
Swordfish is a true compiler that generates optimized, stand alone code which can be programmed directly into your microcontroller. Extensive library support is provided with full source code, some of which include LCD, GLCD, EEPROM, ADC, software and hardware SPI, software and hardware I2C, software UART, USART, string manipulation and math libraries. Support for strings, arrays, structures, boolean, bit, unsigned and signed 8, 16 and 32 bit ordinal types and 32 bit floating point is also provided. Swordfish is supplied with a powerful and flexible Integrated Development Environment (IDE) which includes an advanced code explorer, full syntax highlighting, third party programmer integration, serial communicator and integrated boot loader application. Just a single mouse click, or key press, will compile, assemble and program your project into the target microcontroller.
The Structured Approach
Swordfish enables you to structure a program using subroutines and functions. Each subroutine or function can have its own local declarations consisting of constants, structures and variables. Procedural programming is a better choice than simple sequential or unstructured programming, especially in situations which involve moderate complexity or require significant ease of maintainability.
The Modular Approach
In large and complex programs, modularity is essential. Swordfish enables you to group commonly used subroutines, functions, constants, structures and variables into a single entity called a module. Scoping is an essential part in keeping a program modular and Swordfish allows all module declarations to be defined as either private or public. The separation of private and public parts of a module is often referred to as encapsulation, or information hiding, and enables you to create modules that are both reusable and robust.
Probably the best way to see what Swordfish can do is to try it yourself by downloading a free, fully functional, non expiring Special Edition (SE) version of the compiler. Swordfish SE includes everything you get with the commercial version, including the full list of supported microcontrollers. The compiler is only constrained in terms of the amount of RAM available during compilation. Click "Download Resources" to download.