Last year I had a look at a free open source BASIC compiler called Great Cow BASIC specifically for use with the PIC devices anf it worked quite well i.e. it generated code. The main disadvantage is that it does not have an IDE (although there is another sowftware download IDE which I did not try - an IDE for GCBASIC) - I just used an editor, the note pad and a command line prompt.
I have not looked at it since as I don't use basic a great deal. (Coukd change depending on the forum comments etc. )
- unlimited code size
- When I used it it would not partition a program across the 16F877 segmented memory correctly : Solution is probably to only use a non-segmented memory (or less segmented) 18F series device - this issue may have been solved as there have been many updated since I last had a look at it.
- Command line based (probably the IDE can be setup for command execution)
- No simulation
Hey it's free!
Remember it's pobably a bit buggy and will have less support than a commercial offering (you could wade in and help out that way it will improve) but regardless of that, it is an interesting project.
Here's some of the details "Follwing is a quote from the site: http://gcbasic.sourceforge.net " :
The syntax of Great Cow BASIC is based on that of QBASIC/FreeBASIC, but with some alterations to suit the vastly different system that it compiles for. The assembly code produced by Great Cow BASIC can be assembled and run on almost all 10, 12, 16 and 18 series chips. Please see "Supported chips" for a list of chips that GCBASIC is intended to work with.
Simple, useful language:
* Standard BASIC flow control statements - If, Select Case, Do, For, Goto
* Support for multiply, divide, add, subtract, boolean operations and comparisons.
* Bit, Byte, Word and String data types, in addition to byte arrays.
* Subroutines and Functions
* Inline assembly, in most cases without any special directives
* Data tables
Portable, reusable code:
* Supports most 8-bit PIC microcontrollers
* Write code for a 10F, easily adapt it for an 18F!
* Wait command, which gives the same length delay regardless of clock speed.
* Standard 2x16 LCD routines
* Routines for on-chip A/D, PWM, SPI, EEPROM and Timers
* RS232 communications - rates between 300 and 19200 bps with user configurable parity, start and stop bits.
* PS/2 keyboard reading
* 4x4 Keypad
* Ample support - help file, example programs, forum and email
* Several translations
* Generates standard MPASM compatible assembly code.
* Free, both in the free beer way and the free speech way!
Supports : 10, 12, 16 and 18 series chips.
You can find it here: http://gcbasic.sourceforge.net