JAL (compiler)
   HOME

TheInfoList



OR:

{{Other uses of, JAL, JAL (disambiguation){{!JAL JAL (Just Another Language) is a Pascal-like
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
and
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
that generates executable code for
PIC microcontroller PIC (usually pronounced as ''"pick"'') is a family of microcontrollers made by Microchip Technology, derived from the PIC1650"PICmicro Family Tree", PIC16F Seminar Presentation originally developed by General Instrument's Microelectronics ...
s. It is a
free-format language In computer programming, a free-form language is a programming language in which the positioning of character (computing), characters on the page in program text is insignificant. Program text does not need to be placed in specific columns as on ...
with a compiler that runs on Linux, MS-Windows and MS-DOS (OSX support). It is configurable and extendable through the use of libraries and can even be combined with PIC assembly language.


History

JAL was originally created by Wouter van Ooijen and released as
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
under the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
in 2003. In 2006, Stef Mientki initiated the development of a new version, JALV2, which was programmed by Kyle York and beta tested by an international user group.Beta testing by: Bert van Dam, Sunish Isaac, Dave Lagzdin, Javier Martinez, Stef Mientki, Wouter van Ooijen, Michael Reynolds, André Steenveld, Joep Suijs, Vasile Surducan, and Michael Watterson


Sample code

-- JAL 2.3 include 16f877_bert--define the variables var byte resist--define the pins pin_a0_direction = input--variable resistor pin_d7_direction = input--switch pin_c2_direction = output--pwm led--enable pulse width modulation PWM_init_frequency (true, true) forever loop--convert analog on a0 to digital resist = ADC_read_low_res(0) -- run measurement through flash memory program_eeprom_write(2000,resist) program_eeprom_read(2000,resist) -- run measurement through data memory data_eeprom_write(10,resist) data_eeprom_read(10,resist) -- if the switch is pressed return random value if pin_d7

high then resist = random_byte end if--send resistance to PC serial_sw_write(resist) delay_100ms(1) -- set actual PWM duty cycle PWM_Set_DutyCycle (resist, resist) end loop


References


External links


JALv2 Compiler home pageOpen Source JAL LibrariesJAL Homepage
Procedural programming languages Programming languages created in 2003