home *** CD-ROM | disk | FTP | other *** search
- ; SOURCE.LNG
- ; Copyright Rick Maddy 1992, 1993
-
- ; Changes:
-
- ; Version 1.01 to 1.1
- ; - Under both dBASE and Clipper, changed the comment position value
- ; from '0' to 'B' for the '*' and 'note' comment markers.
-
- ; Version 1.1 to 1.2
- ; - None
-
- ; Version 1.2 to 1.3
- ; - Changed keywords and blocks in dBASE and Clipper to be full words.
- ; - Added '#' in column one to C comments so defines and includes are
- ; highlighted.
- ; - Removed Text - End Text block from Clipper.
-
- ; Version 1.3 to 1.4
- ; - Removed '#' comment from C. Did not work well if also had /* */
- ; multiline comment starting on same line.
- ; - Added #define and #include keywords to C.
- ; - Added #if, #endif, #else, #elif, #ifdef, defined keywords to C.
- ; - Added while - enddo block to Clipper.
- ; - Added the RPG/Free language.
- ; - Added the MAKEFILE language.
- ; - Changed all the file extensions to filename patterns.
- ; - Added the ":include:" entries for each language.
- ; - Added the ":pagefeed:" entries for each language.
- ; - Added the ICON language.
-
-
- ; This is the default language definition file. This file should reside in
- ; the same directory as SOURCE.EXE. Feel free to add any additional languages
- ; or take ones out you do not use. You may also change an existing language.
- ; Please follow the guidelines outlined in SOURCE.DOC.
-
- ;===========================================================================
-
- ; Definition for the C and C++ languages - based on ANSI C and AT&T C++.
-
- ; Identifiers are made up of letters, numbers, and underscore.
- ; Comments are surrounded by /* */ or begin with // and end at end-of-line.
- ; Comments may occur anywhere on a line.
- ; Strings are placed in double quotes and characters are placed in single
- ; quotes. Both " and ' are escaped by preceding it by a backslash.
- ; The only block is the { } pair.
- ; C is case specific.
-
- beginlang C *.c *.h *.cpp *.hpp
- abcdefghijklmnopqrstuvwxyz0123456789_#
- :comment:
- //
-
- 0
- /*
- */
- 0
- :string:
- "
- \
- '
- \
- :block:
- {
- }
- :keyword:
- auto
- break
- case
- char
- catch
- class
- const
- continue
- default
- #define
- defined
- delete
- do
- double
- #elif
- #else
- else
- #endif
- enum
- extern
- float
- for
- friend
- goto
- #if
- #ifdef
- if
- #include
- inline
- int
- long
- new
- operator
- #pragma
- private
- protected
- public
- register
- return
- short
- signed
- sizeof
- static
- struct
- switch
- template
- this
- typedef
- union
- unsigned
- virtual
- void
- volatile
- while
- :include:
- #include <
- >
-
- .
-
- #include "
- "
-
- .
-
- :pagefeed:
- endlang case full
-
- ;===========================================================================
-
- ; Definition for the Pascal language - based on Turbo Pascal 6.0.
-
- ; Identifiers are made up of letters, numbers, and underscore.
- ; Comments are surrounded by the { } or the (* *) pairs. Comments may
- ; occur anywhere on a line.
- ; Strings and characters are placed within single quotes. A literal single
- ; quote is escaped by another single quote.
- ; Numerous blocks exists: begin end, record end, case end, repeat until
- ; Pascal is not case specfic and all keywords must be found in full.
-
- ; Note - There is a conflict with variant record types. The syntax of this
- ; record has the keyword 'case' in it. This conflicts if the 'case' - 'end'
- ; block is defined. When SOURCE comes across the variant record 'case', it
- ; begins a block until an 'end' is found. The 'end' usually found is the
- ; 'end' for the 'record' block. Now no 'end' is found for the 'record'.
- ; If you have variant record declarations, remove the 'case' - 'end' block
- ; defined below. If you do not have variant records, then leave as is.
-
- beginlang Pascal *.pas *.inc
- abcdefghijklmnopqrstuvwxyz0123456789_
- :comment:
- {
- }
- 0
- (*
- *)
- 0
- :string:
- '
- '
- :block:
- begin
- end
- record
- end
- case
- end
- repeat
- until
- :keyword:
- and
- asm
- array
- begin
- case
- const
- constructor
- destructor
- div
- do
- downto
- else
- end
- file
- for
- function
- goto
- if
- implementation
- in
- inline
- interface
- label
- mod
- nil
- not
- object
- of
- or
- packed
- procedure
- program
- record
- repeat
- set
- shl
- shr
- string
- then
- to
- type
- unit
- until
- uses
- var
- while
- with
- xor
- :include:
- {$I
- }
-
- .
- .pas
- :pagefeed:
- endlang nocase full
-
- ;===========================================================================
-
- ; Language definition for GW-BASIC.
-
- ; The 'if ... end if' block was not added because the 'if' statement has two
- ; syntaxes. The first is 'if ... then ... [else ...]'. This has no 'end if'.
- ; SOURCE would see the 'if' and begin the block. Since no 'end if' is present,
- ; the block line would never be terminated.
-
- ; Identifiers are madeup of letters, numbers, period, pound, and dollar.
- ; Comments begin with a single quote or the word rem and both are
- ; terminated by end-of-line.
- ; Strings are enclosed in double quotes.
- ; Two blocks exist: for next, while wend
- ; BASIC is not case sensitive and keywords must match in full.
- ; Only statements and commands are listed under keywords, no functions or
- ; variables. They may be added if desired.
-
- beginlang GW-BASIC *.bas
- abcdefghijklmnopqrstuvwxyz0123456789.#$
- :comment:
- '
-
- 0
- rem
-
- 0
- :string:
- "
-
- :block:
- for
- next
- while
- wend
- :keyword:
- auto
- beep
- bload
- bsave
- call
- chain
- chdir
- circle
- clear
- close
- cls
- color
- com
- common
- cont
- data
- def fn
- defint
- defsng
- defdbl
- defstr
- def seg
- def usr
- delete
- dim
- draw
- edit
- else
- end
- environ
- erase
- error
- field
- files
- for
- get
- gosub
- return
- goto
- if
- input
- input#
- ioclt
- key
- kill
- let
- line
- list
- llist
- load
- locate
- lock
- lprint
- lprint using
- lset
- rset
- merge
- mid$
- mkdir
- name
- next
- new
- on
- open
- option base
- out
- paint
- palette
- palette using
- pcopy
- pen
- play
- poke
- preset
- pset
- print
- print using
- print#
- print# using
- put
- randomize
- read
- rem
- renum
- reset
- restore
- resume
- return
- rmdir
- run
- save
- screen
- shell
- sound
- stop
- strig
- swap
- system
- then
- timer
- tron
- troff
- unlock
- view
- view print
- wait
- wend
- while
- width
- window
- write
- write#
- :include:
- chain "
- "
-
- .
-
- :pagefeed:
- endlang nocase full
-
- ;===========================================================================
-
- ; Language definition for Ada based on ANSI/MIL-STD-1815A-1983
-
- ; Identifiers are made up of letters, numbers, and underscore.
- ; Comments begin with the double hyphen and end at end-of-line. Comments
- ; may appear anywhere on a line.
- ; Strings are enclosed in double qoutes. Literal double qoutes are preceded
- ; by another double quote. Characters are enclosed in single quotes.
- ; Numerous blocks exist: begin end, if end if, case end case, loop end loop,
- ; record end record, package end, task end,
- ; select end select, while end loop, accept end
- ; Ada is case insensitive and keywords must match in full.
-
- beginlang Ada *.ada
- abcdefghijklmnopqrstuvwxyz0123456789_
- :comment:
- --
-
- 0
- :string:
- "
- "
- '
-
- :block:
- begin
- end
- if
- end if
- case
- end case
- loop
- end loop
- record
- end record
- package
- end
- task
- end
- select
- end select
- accept
- end
- :keyword:
- abort
- abs
- accept
- access
- all
- and
- array
- at
- begin
- body
- case
- constant
- declare
- delay
- delta
- digits
- do
- else
- elsif
- end
- entry
- exception
- exit
- for
- function
- generic
- goto
- if
- in
- is
- limited
- loop
- mod
- new
- not
- null
- of
- or
- others
- out
- package
- pragma
- private
- procedure
- raise
- range
- record
- rem
- renames
- return
- reverse
- select
- separate
- subtype
- task
- terminate
- then
- type
- use
- when
- while
- with
- xor
- :include:
- :pagefeed:
- pragma page
- endlang nocase full
-
- ;===========================================================================
-
- ; Language definition for FORTRAN 77 - based on Microsoft FORTRAN.
-
- ; Identifiers are made up of letters and numbers.
- ; Comments are started by having a C or an asterik in column 1 and end with
- ; end-of-line.
- ; Strings are enclosed in single quotes. Literal single qoutes are preceded
- ; by another single quote.
- ; Three blocks: program end, funtion end, subroutine end
- ; FORTRAN is not case sensitive and keywords must match in full.
-
- beginlang FORTRAN *.for
- abcdefghijklmnopqrstuvwxyz0123456789
- :comment:
- c
-
- 1
- *
-
- 1
- :string:
- '
- '
- :block:
- program
- end
- function
- end
- subroutine
- end
- :keyword:
- assign
- backspace
- block data
- call
- character
- close
- common
- complex
- continue
- data
- dimension
- do
- double precision
- else
- elseif
- end
- endfile
- endif
- equivalence
- external
- format
- function
- goto
- go to
- if
- then
- implicit
- integer
- inquire
- intrinsic
- logical
- open
- parameter
- pause
- program
- read
- real
- return
- rewind
- save
- step
- subroutine
- write
- :include:
- :pagefeed:
- endlang nocase full
-
- ;===========================================================================
-
- ; Language definition for assembly language programs
-
- ; Identifiers are made up of letters, numbers, underscor, at, dollar, and
- ; question mark.
- ; Comments start with a semicolon and end at end-of-line. Comments may
- ; begin any where on the line.
- ; Strings are enclosed in single quotes.
- ; There are no blocks.
- ; Keywords not entered since they are processor specific, add yours as
- ; desired.
-
- beginlang Assembly *.asm
- abcdefghijklmnopqrstuvwxyz0123456789_@$?
- :comment:
- ;
-
- 0
- :string:
- '
- '
- :block:
- :keyword:
- :include:
- :pagefeed:
- endlang nocase full
-
- ;===========================================================================
-
- ; Language definition for dBASE III programs
-
- ; Identifiers are made up of letters, numbers, and underscore.
- ; Comments begin with and asterik, double ampersand, or the word note.
- ; All end with end-of-line and may begin anywhere on a line.
- ; Strings are enclosed within double qoutes.
- ; Blocks are: do case endcase, do while enddo, if endif, text endtext
- ; For Next is not listed because contructs like 'locate for ...' cause
- ; problems.
- ; dBASE is case insensitive and only the first four letters of keywords need
- ; to be found.
-
- beginlang dBASE *.prg
- abcdefghijklmnopqrstuvwxyz0123456789_
- :comment:
- *
-
- B
- &&
-
- 0
- note
-
- B
- :string:
- "
-
- '
-
- :block:
- do case
- endcase
- do while
- enddo
- if
- endif
- text
- endtext
- :keyword:
- accept
- additive
- alias
- all
- all like
- alternate
- append
- append from
- assist
- average
- before
- blank
- bottom
- browse
- call
- cancel
- case
- change
- clear
- clear all
- clear fields
- clear gets
- clear memory
- clear typeahead
- close
- continue
- copy
- copy file
- copy structure
- count
- create
- create label
- create query
- create report
- create screen
- create view
- databases
- delete
- delete file
- delimited
- dif
- dir
- display
- display history
- display memory
- display status
- display struture
- do
- do case
- do while
- double
- edit
- eject
- else
- endcase
- enddo
- endif
- endtext
- environment
- erase
- except
- exit
- export
- fields
- find
- for
- format
- freeze
- from
- from environment
- get
- go
- goto
- heading
- help
- if
- import
- index
- input
- insert
- join
- label form
- last
- like
- list
- list history
- list memory
- list status
- list structure
- load
- locate
- lock
- loop
- modify command
- modify file
- modify label
- modify query
- modify report
- modify screen
- modify structure
- modify view
- module
- noappend
- noeject
- nofollow
- nomenu
- note
- off
- on
- on error
- on escape
- on key
- otherwise
- pack
- parameters
- pfs
- picture
- plain
- private
- procedure
- public
- quit
- random
- range
- read
- recall
- reindex
- release
- rename
- replace
- report form
- restore from
- resume
- retry
- return
- return to master
- run
- sample
- save
- save to
- say
- sdf
- seek
- select
- set
- set alternate
- set bell
- set carry
- set catalog
- set century
- set color
- set confirm
- set console
- set date
- set debug
- set decimals
- set default to
- set deleted
- set delimiters
- set device to print
- set device to screen
- set dohistory
- set echo
- set escape
- set exact
- set fields
- set filter
- set fixed
- set format
- set function
- set heading
- set help
- set history
- set index
- set intensity
- set margin
- set memowidth
- set menu
- set message
- set odometer
- set order
- set path
- set print
- set procedure
- set relation
- set safety
- set scoreboard
- set status
- set step
- set talk
- set title
- set typeahead
- set unique
- set view
- skip
- sort
- store
- structure extended
- sum
- summary
- suspend
- sylk
- text
- to
- to file
- to print
- top
- total
- type
- unique
- update on
- use
- wait
- while
- width
- with
- wks
- zap
- :include:
- :pagefeed:
- endlang nocase part 4
-
- ;===========================================================================
-
- ; Language definition for MS-DOS Batch files
-
- ; Identifiers are made up of letters, numbers, and underscore.
- ; Comments begin with the word rem and end at end-of-line. Comments may
- ; appear anywhere on a line.
- ; Strings are enclosed in double quotes.
- ; There are no blocks.
- ; Only batch file specific keywords are listed. Feel free to add all DOS
- ; commands if desired.
- ; Batch files are case insensitive and keywords must match in full.
-
- beginlang Batch *.bat
- abcdefghijklmnopqrstuvwxyz0123456789_
- :comment:
- rem
-
- 0
- :string:
- "
-
- :block:
- :keyword:
- call
- echo
- for
- goto
- if
- pause
- rem
- shift
- :include:
- :pagefeed:
- endlang nocase full
-
- ;===========================================================================
-
- ; Language definition for COBOL based on Microsoft COBOL
-
- ; Identifiers are made up of letters, numbers, and hyphen.
- ; Comments begin with an asterik, slash or D in column 7 and end with
- ; end-of-line.
- ; Strings are enclosed in single or double quotes. A literal quote is
- ; preceded by itself.
- ; Cobol has no blocks
-
- beginlang COBOL *.cob *.cbl
- abcdefghijklmnopqrstuvwxyz0123456789-
- :comment:
- *
-
- 7
- /
-
- 7
- D
-
- 7
- :string:
- "
- "
- '
- '
- :block:
- :keyword:
- accept
- access
- add
- advancing
- after
- all
- alphabetic
- also
- alter
- alternate
- and
- are
- area
- areas
- ascending
- ascii
- assign
- at
- author
- auto-skip
- automatic
- background-color
- beep
- before
- bell
- blank
- blink
- block
- bottom
- by
- call
- cancel
- cd
- cf
- ch
- chain
- chaining
- character
- characters
- clock-units
- close
- cobol
- code
- code-set
- col
- collating
- column
- comma
- communication
- comp
- communication-0
- comp-0
- communication-3
- comp-3
- communication-4
- comp-4
- computational
- compute
- configuration
- contains
- control
- controls
- copy
- corr
- corresponding
- count
- currency
- data
- date
- date-compiled
- date-written
- day
- debug-contents
- debug-item
- debug-line
- debug-name
- debug-sub-1
- debug-sub-2
- debug-sub-3
- debugging
- decimal-point
- declaratives
- delete
- delimited
- delimiter
- depending
- descending
- destination
- de
- detail
- disable
- disk
- display
- division
- down
- duplicates
- dynamic
- egi
- eject
- else
- emi
- empty-check
- enable
- end
- end-of-page
- enter
- environment
- eop
- equal
- erase
- error
- escape
- esi
- every
- exception
- exclusive
- exhibit
- exit
- extend
- fd
- file
- file-control
- file-id
- filler
- final
- first
- footing
- for
- foreground-color
- from
- generate
- giving
- go
- greater
- group
- heading
- high-value
- high-values
- highlight
- i-o
- i-o-control
- identification
- if
- in
- index
- indexed
- initial
- initiate
- input
- input-output
- inspect
- installation
- into
- invalid
- is
- just
- justified
- key
- label
- last
- leading
- left
- left-justify
- length
- length-check
- less
- limit
- limits
- lin
- linage
- linage-counter
- line
- lines
- line-counter
- linkage
- lock
- locking
- low-value
- low-values
- manual
- memory
- merge
- message
- mode
- modules
- move
- multiple
- multiply
- native
- negative
- next
- no
- no-echo
- not
- number
- numeric
- object-computer
- occurs
- of
- off
- omitted
- on
- open
- optional
- or
- organization
- output
- overflow
- page
- page-counter
- perform
- pf
- ph
- pic
- picture
- plus
- pointer
- position
- positive
- printer
- printing
- procedure
- procedures
- proceed
- program
- program-id
- prompt
- queue
- quote
- quotes
- random
- rd
- read
- ready
- receive
- record
- records
- redefines
- reel
- references
- relative
- release
- remainder
- removal
- renames
- replacing
- report
- reports
- reporting
- rerun
- reserve
- reset
- return
- reverse-video
- reversed
- rewind
- rewrite
- rf
- rh
- right
- right-justify
- round
- run
- same
- sd
- search
- section
- security
- segment
- segment-limit
- select
- send
- sentence
- separate
- sequence
- sequential
- set
- sign
- size
- sort
- sort-merge
- source
- source-computer
- space
- spaces
- space-fill
- special-names
- standard
- standard-1
- start
- status
- stop
- string
- sub-queue-1
- sub-queue-2
- sub-queue-3
- subtract
- sum
- suppress
- symbolic
- sync
- synchronized
- table
- tallying
- tape
- terminal
- terminate
- text
- than
- through
- thru
- time
- times
- to
- top
- trace
- trailing
- trailing-sign
- type
- underline
- unit
- unlock
- unstring
- until
- up
- update
- upon
- usage
- use
- using
- value
- values
- varying
- wait
- when
- with
- words
- working-storage
- write
- zeros
- zeroes
- zero-fill
- :include:
- copy
-
- .
- .
-
- :pagefeed:
- endlang nocase full
-
- ;===========================================================================
-
- ; Language definition for Clipper 5.0 programs
-
- ; Identifiers are made up of letters, numbers, and underscore.
- ; Comments are enclosed in /* */ or begin with //, *, &&, or note and end
- ; with end-of-line.
- ; Strings are enclosed withing double qoutes or single quotes.
- ; Clipper is case insensitive and only the first four letters of keywords
- ; need to be found.
-
- ; Note - The 'for' - 'next' block is not listed because contructs like
- ; 'locate for' cause problems.
-
- beginlang Clipper *.prg
- abcdefghijklmnopqrstuvwxyz0123456789_
- :comment:
- *
-
- B
- //
-
- 0
- /*
- */
- 0
- &&
-
- 0
- note
-
- B
- :string:
- "
-
- '
-
- :block:
- begin sequence
- end
- do case
- endcase
- do while
- enddo
- while
- end
- while
- enddo
- if
- endif
- :keyword:
- abs
- asc
- at
- begin sequence
- bof
- break
- case
- cdow
- chr
- cmonth
- col
- ctod
- date
- day
- declare
- deleted
- devpos
- do
- do case
- do while
- dow
- dtoc
- dtos
- else
- elseif
- empty
- end
- endcase
- enddo
- endif
- endtext
- eof
- exit
- exp
- external
- fcount
- field
- fieldname
- file
- flock
- for
- found
- function
- if
- iif
- inkey
- int
- lastrec
- len
- local
- lock
- log
- loop
- lower
- ltrim
- max
- memvar
- min
- month
- next
- otherwise
- parameters
- pcol
- pcount
- private
- procedure
- prow
- public
- reccount
- recover
- recno
- replicate
- return
- rlock
- round
- row
- rtrim
- seconds
- select
- setpos
- space
- sqrt
- static
- step
- str
- substr
- time
- to
- transform
- trim
- type
- upper
- using
- val
- valtype
- with
- while
- word
- year
- :include:
- #include "
- "
-
- .
- .ch
- :pagefeed:
- endlang nocase part 4
-
- ;===========================================================================
-
- ; Definition of the RPG/Free Language
- ;
- ; From Paul Conte, Eugene Oregon
- ;
-
- beginlang rpg/free *.rpf *.rpi
- ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_/-
- :comment:
- --
-
- 0
- H*
-
- 0
- F*
-
- 0
- E*
-
- 0
- I*
-
- 0
- C*
-
- 0
- O*
-
- 0
- T*
-
- 0
- L*
-
- 0
- :string:
- '
- '
- :block:
- BEGSR
- ENDSR
- BEGSR
- END
- CASE
- ENDCS
- CASE
- END
- DO
- ENDDO
- DO
- END
- FOR
- ENDFOR
- FOR
- END
- IF
- ENDIF
- IF
- END
- LOOP
- ENDLOOP
- LOOP
- END
- SELECT
- ENDSELECT
- SELECT
- ENDSL
- SELECT
- END
- UNTIL
- ENDUNTIL
- UNTIL
- END
- WHILE
- ENDWHILE
- WHILE
- END
- :keyword:
- /AUTORPT
- /CALC
- /CONTROL
- /COPY
- /DATA
- /DEFINE
- /DUMPMAC
- /EJECT
- /ELSE
- /ELSEIF
- /END-EXEC
- /ENDIF
- /ERROR
- /EXEC
- /EXT
- /EXTENSION
- /FILE
- /FIRSTCOL
- /FIX
- /FREE
- /HEADER
- /IF DEFINED
- /IF NOT DEFINED
- /INCLUDE
- /INCLUDEF
- /INPUT
- /LINE
- /MESSAGE
- /OUTPUT
- /PRINT
- /SKIP
- /SPACE
- /TELCOM
- /TITLE
- /UNDEFINE
- ACQ
- ACQUIRE
- ADD
- BEGSR
- BITOF
- BITOFF
- BITON
- BREAK
- CAB
- CALL
- CAS
- CASE
- CAT
- CATST
- CATSTR
- CHAIN
- CHECK
- CKDT
- CLEAR
- CLOSE
- COMIT
- COMMIT
- COMP
- COMPARE
- CONTINUE
- CVDT
- DCL
- DEBUG
- DEFINE
- DEFINED
- DEFN
- DELET
- DELETE
- DISPLAY
- DIV
- DIVIDE
- DO
- DOUEQ
- DOUGT
- DOULT
- DOUGE
- DOULE
- DOUNE
- DOWEQ
- DOWGT
- DOWLT
- DOWGE
- DOWLE
- DSPLY
- DUMP
- EDIT
- ELSE
- END
- ENDCS
- ENDDO
- ENDFOR
- ENDIF
- ENDLOOP
- ENDSELECT
- ENDSL
- ENDSR
- ENDSS
- ENDSUBSTR
- ENDUNTIL
- ENDWHILE
- EXCPT
- EXFMT
- EXIT
- EXITBLOCK
- EXITSR
- EXSR
- FEOD
- FOR
- FORCE
- FREE
- GOTO
- IF
- IN
- ITER
- ITERATE
- KEY
- KFLD
- KLIST
- LEAVE
- LOKUP
- LOOKUP
- LOOP
- MHHZO
- MHLZO
- MLHZO
- MLLZO
- MODE
- MOVEx
- MULT
- MULTIPLY
- MVR
- NEXT
- NOT
- OCCUR
- OCUR
- OPEN
- OR
- OTHER
- OUT
- PARM
- PLIST
- POST
- RDCOM
- READ
- READC
- READE
- READP
- READPE
- REDPE
- REL
- RELEASE
- RESET
- RETRN
- RETURN
- RLABL
- ROLBK
- ROLLBACK
- SCAN
- SELEC
- SELECT
- SETGT
- SETLL
- SETOF
- SETOFF
- SETON
- SHTDN
- SQRT
- SUB
- SUBST
- SUBSTR
- SUBTRACT
- TAG
- TESTB
- TESTN
- TESTZ
- TIME
- TRANSLATE
- UNLCK
- UNLOCK
- UNTIL
- UPDAT
- UPDATE
- USE
- WAIT
- WHEN
- WHILE
- WRCOM
- WRITE
- XCAT
- XCATST
- XCATSTR
- XFOOT
- XLATE
- XMOVE
- XSUBST
- XSUBSTR
- XTRANSLATE
- XXLATE
- Z-ADD
- Z-SUB
- :include:
- /INCLUDE
-
-
-
-
- :pagefeed:
- /EJECT
- endlang nocase full
-
- ;===========================================================================
-
- ;
- ; Makefiles
- ;
- ; As defined, this will only highlight comments
- ;
-
- beginlang Makefile makefile
- abcdefghijklmnopqrstuvwxyz0123456789_
- :comment:
- #
-
- 0
- :string:
- :block:
- :keyword:
- :include:
- :pagefeed:
- endlang nocase full
-
- ;===========================================================================
-
- ; Definition for the ICON language - based on Version 5.
-
- ; Identifiers are made up of letters, numbers, and underscore.
- ; Comments begin with # and end at end-of-line.
- ; Comments may occur anywhere on a line.
- ; Strings are placed in double quotes and characters are placed in single
- ; quotes. Both " and ' are escaped by preceding it by a backslash.
- ; The only blocks are the { } pair and procedure - end pair.
- ; ICON is case specific.
-
- beginlang ICON *.icn
- abcdefghijklmnopqrstuvwxyz0123456789_&
- :comment:
- #
-
- 0
- :string:
- "
- \
- '
- \
- :block:
- {
- }
- procedure
- end
- :keyword:
- &ascii
- &clock
- &cset
- &date
- &dateline
- &errout
- &fail
- &host
- &input
- &lcase
- &level
- &main
- &null
- &output
- &pos
- &random
- &source
- &subject
- &time
- &trace
- &ucase
- &version
- break
- by
- case
- create
- default
- do
- dynamic
- else
- end
- every
- external
- fail
- global
- if
- initial
- local
- next
- not
- of
- procedure
- record
- repeat
- return
- static
- suspend
- then
- to
- until
- while
- :include:
- :pagefeed:
- endlang case full
-