home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-11-07 | 15.5 KB | 1,358 lines |
- ; SOURCE.LNG
- ; Copyright Rick Maddy 1992
-
- ; 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.
-
-
- ; 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
- #
-
- 1
- :string:
- "
- \
- '
- \
- :block:
- {
- }
- :keyword:
- auto
- break
- case
- char
- catch
- class
- const
- continue
- default
- delete
- do
- double
- else
- enum
- extern
- float
- for
- friend
- goto
- if
- inline
- int
- long
- new
- operator
- private
- protected
- public
- register
- return
- short
- signed
- sizeof
- static
- struct
- switch
- template
- this
- typedef
- union
- unsigned
- virtual
- void
- volatile
- while
- endlang case full
-
-
- ; Definition for the Pascal language - based on Turbo Pascal.
-
- ; 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.
-
- 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
- endlang nocase full
-
-
- ; Language definition for GW-BASIC.
-
- ; The 'if ... endif' block was not added because the 'if' statement has two
- ; syntaxes. The first is 'if ... then ... [else ...]'. This has no 'endif'.
- ; SOURCE would see the 'if' and begin the block. Since no 'endif' 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#
- endlang nocase full
-
-
- ; Language definition for Ada
-
- ; 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
- 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
- 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:
- endlang nocase full
-
-
- ; Language definition for dBASE 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
- 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
- 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
- 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.
- ; The for-next block is not listed because contructs like 'locate for' cause
- ; problems.
- ; Clipper is case insensitive and only the first four letters of keywords
- ; need to be found.
-
- beginlang Clipper .prg
- abcdefghijklmnopqrstuvwxyz0123456789_
- :comment:
- *
-
- B
- //
-
- 0
- /*
- */
- 0
- &&
-
- 0
- note
-
- B
- :string:
- "
-
- '
-
- :block:
- begin sequence
- end
- do case
- endcase
- do while
- enddo
- while
- end
- 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
- endlang nocase part 4
-