WARNING: WORK IN PROGRESS
This project adds support for the pop11 language
to the Vim editor. It handles syntax highlighting for *.p files.
We recommend you use Plug or another vim plugin manager.
For example, using Plug you would add the following to your ~/.vimrc:
Plug 'GetPoplog/vim-poplog'Each part here corresponds to a railroad diagram from "Pop-11: A practical Language for Artificial Intelligence" (R. Barrett, A. Ramsay, A. Sloman). The syntax in this book is out of date, but it is a good starting point.
Once a railroad diagram has been
- Statement
-
; -
=> -
==>
-
- Definition
-
define -
enddefine
-
- Assignment
-
-> -
->> -
-->
-
- Variable
-
nonop -
nonmac -
nonsyntax
-
- Declaration
-
global -
lvars -
vars -
constant -
lconstant
-
- Varslist
-
macro -
syntax
-
- Sequence
-
, -
; -
=> -
==>
-
- Literal
- Construct
- List construct
-
[] - List segment
-
[% <Sequence> %]
-
-
- Vector construct
-
{}
-
- Pattern construct
-
[] - Pattern segment
-
? -
?? -
= -
==
-
- List construct
- Label:
<word>: - Jump:
goto <word> - Iterative (i)
-
for -
step -
till -
do -
endfor
-
- Iterative (ii)
-
while -
until -
for -
in -
on -
from -
by -
to -
foreach -
endforeach -
forevery -
endforevery -
repeat -
endrepeat -
times -
forever
-
- Conditional
-
if -
unless -
elseif -
elseunless -
else -
then -
endif -
endunless
-
- Boolean expression
-
and -
or
-
- Operator expression
- Function application
- See
ref syntaxfor a list of syntax words in pop11. - See Your own syntax highlighted for an excellent guide on writing vim syntax files.