mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-11 09:20:51 +00:00
cbf83ce9f9
(m2-mode-syntax-table): (*..*) can be nested. Add //...\n. Fix paren syntax. (m2-mode-map): Remove LF and TAB bindings. (m2-indent): Add safety property. (m2-smie-grammar): New var. (m2-smie-refine-colon, m2-smie-refine-of, m2-smie-backward-token) (m2-smie-forward-token, m2-smie-refine-semi, m2-smie-rules): New funs. (m2-mode): Use define-derived-mode. (m2-newline, m2-tab): Remove. (m2-begin, m2-case, m2-definition, m2-else, m2-for, m2-header) (m2-if, m2-loop, m2-module, m2-or, m2-procedure, m2-with, m2-record) (m2-stdio, m2-type, m2-until, m2-var, m2-while, m2-export) (m2-import): Use define-skeleton. * test/indent/modula2.mod: New file.
54 lines
890 B
Modula-2
54 lines
890 B
Modula-2
(* -*- mode: modula-2; m2-indent:3 -*- *)
|
|
|
|
IMPLEMENTATION MODULE Indent ;
|
|
|
|
(* This is (* a nested comment *) *)
|
|
// This is a single-line comment.
|
|
|
|
FROM SYSTEM IMPORT ADR, TSIZE, SIZE, WORD ;
|
|
|
|
CONST
|
|
c1 = 2;
|
|
|
|
TYPE
|
|
t = POINTER TO ARRAY [0..10] OF LONGINT;
|
|
|
|
VAR x: t;
|
|
y:LONGINT;
|
|
|
|
|
|
PROCEDURE f1 (f: File) : INTEGER ;
|
|
VAR
|
|
fd: FileDescriptor ;
|
|
PROCEDURE foo (a:CARDINAL) : INTEGER;
|
|
BEGIN
|
|
END foo;
|
|
BEGIN
|
|
IF f#Error
|
|
THEN
|
|
fd := GetIndice(FileInfo, f) ;
|
|
IF fd#NIL THEN
|
|
RETURN( fd^.unixfd )
|
|
ELSE
|
|
CASE z OF
|
|
1: do1();
|
|
| 2: do2();
|
|
toto(x);
|
|
| 3: ;
|
|
| 4: do4();
|
|
ELSE do5();
|
|
END ; (* CASE selection *)
|
|
|
|
END
|
|
END ;
|
|
FormatError1('file %d has not been opened or is out of range\n', f) ;
|
|
RETURN( -1 )
|
|
END f1 ;
|
|
|
|
|
|
BEGIN
|
|
init
|
|
FINALLY
|
|
done
|
|
END Indent.
|