summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-12-03 09:36:26 +0100
committerEugen Wissner <belka@caraus.de>2025-12-03 09:36:26 +0100
commit8eb87757a0a3df6bc36f7251f010c849916455df (patch)
tree230d6fe4bb3f9996c43c8b5f96f1f580a7c27fa9
parent1c2a8e6da852016bedcc70e45cd328836a20f18a (diff)
downloadelna-8eb87757a0a3df6bc36f7251f010c849916455df.tar.gz
Remove modula-2 definitions
-rw-r--r--source/CommandLineInterface.def16
-rw-r--r--source/Common.def12
-rw-r--r--source/Lexer.def107
-rw-r--r--source/Parser.def200
-rw-r--r--source/Transpiler.def20
5 files changed, 0 insertions, 355 deletions
diff --git a/source/CommandLineInterface.def b/source/CommandLineInterface.def
deleted file mode 100644
index e4688c4..0000000
--- a/source/CommandLineInterface.def
+++ /dev/null
@@ -1,16 +0,0 @@
-DEFINITION MODULE CommandLineInterface;
-
-FROM Common IMPORT ShortString;
-
-TYPE
- CommandLine = RECORD
- input: ShortString;
- output: ShortString;
- lex: BOOLEAN;
- parse: BOOLEAN
- END;
- PCommandLine = POINTER TO CommandLine;
-
-PROCEDURE parse_command_line(): PCommandLine;
-
-END CommandLineInterface.
diff --git a/source/Common.def b/source/Common.def
deleted file mode 100644
index 9520230..0000000
--- a/source/Common.def
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINITION MODULE Common;
-
-TYPE
- ShortString = ARRAY[1..256] OF CHAR;
- Identifier = ARRAY[1..256] OF CHAR;
- PIdentifier = POINTER TO Identifier;
- TextLocation = RECORD
- line: CARDINAL;
- column: CARDINAL
- END;
-
-END Common.
diff --git a/source/Lexer.def b/source/Lexer.def
deleted file mode 100644
index 883c604..0000000
--- a/source/Lexer.def
+++ /dev/null
@@ -1,107 +0,0 @@
-DEFINITION MODULE Lexer;
-
-FROM FIO IMPORT File;
-
-FROM Common IMPORT Identifier, ShortString, TextLocation;
-
-TYPE
- PLexerBuffer = POINTER TO CHAR;
- BufferPosition = RECORD
- iterator: PLexerBuffer;
- location: TextLocation
- END;
- PBufferPosition = POINTER TO BufferPosition;
- Lexer = RECORD
- input: File;
- buffer: PLexerBuffer;
- size: CARDINAL;
- length: CARDINAL;
- start: BufferPosition;
- current: BufferPosition
- END;
- PLexer = POINTER TO Lexer;
- LexerKind = (
- lexerKindEof,
- lexerKindIdentifier,
- lexerKindIf,
- lexerKindThen,
- lexerKindElse,
- lexerKindElsif,
- lexerKindWhile,
- lexerKindDo,
- lexerKindProc,
- lexerKindBegin,
- lexerKindEnd,
- lexerKindXor,
- lexerKindConst,
- lexerKindVar,
- lexerKindCase,
- lexerKindOf,
- lexerKindType,
- lexerKindRecord,
- lexerKindUnion,
- lexerKindPipe,
- lexerKindTo,
- lexerKindBoolean,
- lexerKindNull,
- lexerKindAnd,
- lexerKindOr,
- lexerKindTilde,
- lexerKindReturn,
- lexerKindDefer,
- lexerKindRange,
- lexerKindLeftParen,
- lexerKindRightParen,
- lexerKindLeftSquare,
- lexerKindRightSquare,
- lexerKindGreaterEqual,
- lexerKindLessEqual,
- lexerKindGreaterThan,
- lexerKindLessThan,
- lexerKindNotEqual,
- lexerKindEqual,
- lexerKindSemicolon,
- lexerKindDot,
- lexerKindComma,
- lexerKindPlus,
- lexerKindMinus,
- lexerKindAsterisk,
- lexerKindDivision,
- lexerKindRemainder,
- lexerKindAssignment,
- lexerKindColon,
- lexerKindHat,
- lexerKindAt,
- lexerKindComment,
- lexerKindInteger,
- lexerKindWord,
- lexerKindCharacter,
- lexerKindString,
- lexerKindFrom,
- lexerKindPointer,
- lexerKindArray,
- lexerKindArrow,
- lexerKindProgram,
- lexerKindModule,
- lexerKindImport
- );
- LexerToken = RECORD
- CASE kind: LexerKind OF
- lexerKindBoolean: booleanKind: BOOLEAN |
- lexerKindIdentifier: identifierKind: Identifier |
- lexerKindInteger: integerKind: INTEGER |
- lexerKindString: stringKind: ShortString
- END;
- start_location: TextLocation;
- end_location: TextLocation
- END;
- PLexerToken = POINTER TO LexerToken;
-
-PROCEDURE lexer_initialize(lexer: PLexer; input: File);
-PROCEDURE lexer_destroy(lexer: PLexer);
-(* Returns the last read token. *)
-PROCEDURE lexer_current(lexer: PLexer): LexerToken;
-(* Read and return the next token. *)
-PROCEDURE lexer_lex(lexer: PLexer): LexerToken;
-
-END Lexer.
diff --git a/source/Parser.def b/source/Parser.def
deleted file mode 100644
index a766e8e..0000000
--- a/source/Parser.def
+++ /dev/null
@@ -1,200 +0,0 @@
-DEFINITION MODULE Parser;
-
-FROM Common IMPORT Identifier, PIdentifier, ShortString;
-FROM Lexer IMPORT PLexer;
-
-TYPE
- Parser = RECORD
- lexer: PLexer
- END;
- PParser = POINTER TO Parser;
-
- AstLiteralKind = (
- astLiteralKindInteger,
- astLiteralKindString,
- astLiteralKindNull,
- astLiteralKindBoolean
- );
- AstLiteral = RECORD
- CASE kind: AstLiteralKind OF
- astLiteralKindInteger: integer: INTEGER |
- astLiteralKindString: string: ShortString |
- astLiteralKindNull: |
- astLiteralKindBoolean: boolean: BOOLEAN
- END
- END;
- PAstLiteral = POINTER TO AstLiteral;
-
- AstUnaryOperator = (
- astUnaryOperatorReference,
- astUnaryOperatorNot,
- astUnaryOperatorMinus
- );
- AstBinaryOperator = (
- astBinaryOperatorSum,
- astBinaryOperatorSubtraction,
- astBinaryOperatorMultiplication,
- astBinaryOperatorDivision,
- astBinaryOperatorRemainder,
- astBinaryOperatorEquals,
- astBinaryOperatorNotEquals,
- astBinaryOperatorLess,
- astBinaryOperatorGreater,
- astBinaryOperatorLessEqual,
- astBinaryOperatorGreaterEqual,
- astBinaryOperatorDisjunction,
- astBinaryOperatorConjunction,
- astBinaryOperatorExclusiveDisjunction,
- astBinaryOperatorShiftLeft,
- astBinaryOperatorShiftRight
- );
-
- AstExpressionKind = (
- astExpressionKindLiteral,
- astExpressionKindIdentifier,
- astExpressionKindArrayAccess,
- astExpressionKindDereference,
- astExpressionKindFieldAccess,
- astExpressionKindUnary,
- astExpressionKindBinary,
- astExpressionKindCall
- );
- AstExpression = RECORD
- CASE kind: AstExpressionKind OF
- astExpressionKindLiteral: literal: PAstLiteral |
- astExpressionKindIdentifier: identifier: Identifier |
- astExpressionKindDereference: reference: PAstExpression |
- astExpressionKindArrayAccess:
- array: PAstExpression;
- index: PAstExpression |
- astExpressionKindFieldAccess:
- aggregate: PAstExpression;
- field: Identifier |
- astExpressionKindUnary:
- unary_operator: AstUnaryOperator;
- unary_operand: PAstExpression |
- astExpressionKindBinary:
- binary_operator: AstBinaryOperator;
- lhs: PAstExpression;
- rhs: PAstExpression |
- astExpressionKindCall:
- callable: PAstExpression;
- argument_count: CARDINAL;
- arguments: PPAstExpression
- END
- END;
- PAstExpression = POINTER TO AstExpression;
- PPAstExpression = POINTER TO PAstExpression;
-
- AstStatementKind = (
- astStatementKindIf,
- astStatementKindWhile,
- astStatementKindAssignment,
- astStatementKindReturn,
- astStatementKindCall
- );
- AstStatement = RECORD
- CASE kind: AstStatementKind OF
- astStatementKindIf:
- if_condition: PAstExpression;
- if_branch: AstCompoundStatement |
- astStatementKindWhile:
- while_condition: PAstExpression;
- while_body: AstCompoundStatement |
- astStatementKindAssignment:
- assignee: PAstExpression;
- assignment: PAstExpression |
- astStatementKindReturn: returned: PAstExpression |
- astStatementKindCall: call: PAstExpression
- END
- END;
- PAstStatement = POINTER TO AstStatement;
- PPAstStatement = POINTER TO PAstStatement;
- AstCompoundStatement = RECORD
- count: CARDINAL;
- statements: PPAstStatement
- END;
-
- AstImportStatement = RECORD
- package: Identifier;
- symbols: PIdentifier
- END;
- PAstImportStatement = POINTER TO AstImportStatement;
- PPAstImportStatement = POINTER TO PAstImportStatement;
-
- AstConstantDeclaration = RECORD
- constant_name: Identifier;
- constant_value: INTEGER
- END;
- PAstConstantDeclaration = POINTER TO AstConstantDeclaration;
- PPAstConstantDeclaration = POINTER TO PAstConstantDeclaration;
-
- AstFieldDeclaration = RECORD
- field_name: Identifier;
- field_type: PAstTypeExpression
- END;
- PAstFieldDeclaration = POINTER TO AstFieldDeclaration;
-
- AstTypeExpressionKind = (
- astTypeExpressionKindNamed,
- astTypeExpressionKindRecord,
- astTypeExpressionKindEnumeration,
- astTypeExpressionKindArray,
- astTypeExpressionKindPointer,
- astTypeExpressionKindProcedure
- );
- AstTypeExpression = RECORD
- CASE kind: AstTypeExpressionKind OF
- astTypeExpressionKindNamed: name: Identifier |
- astTypeExpressionKindEnumeration: cases: PIdentifier |
- astTypeExpressionKindPointer: target: PAstTypeExpression |
- astTypeExpressionKindRecord: fields: PAstFieldDeclaration |
- astTypeExpressionKindArray:
- base: PAstTypeExpression;
- length: CARDINAL |
- astTypeExpressionKindProcedure: parameters: PPAstTypeExpression
- END
- END;
- PAstTypeExpression = POINTER TO AstTypeExpression;
- PPAstTypeExpression = POINTER TO PAstTypeExpression;
-
- AstTypedDeclaration = RECORD
- identifier: Identifier;
- type_expression: PAstTypeExpression
- END;
- PAstTypedDeclaration = POINTER TO AstTypedDeclaration;
- PPAstTypedDeclaration = POINTER TO PAstTypedDeclaration;
-
- AstVariableDeclaration = RECORD
- variable_name: Identifier;
- variable_type: PAstTypeExpression
- END;
- PAstVariableDeclaration = POINTER TO AstVariableDeclaration;
- PPAstVariableDeclaration = POINTER TO PAstVariableDeclaration;
-
- AstProcedureDeclaration = RECORD
- name: Identifier;
- parameter_count: CARDINAL;
- parameters: PAstTypedDeclaration;
- return_type: PAstTypeExpression;
- constants: PPAstConstantDeclaration;
- variables: PPAstVariableDeclaration;
- statements: AstCompoundStatement
- END;
- PAstProcedureDeclaration = POINTER TO AstProcedureDeclaration;
- PPAstProcedureDeclaration = POINTER TO PAstProcedureDeclaration;
-
- AstModule = RECORD
- main: BOOLEAN;
- imports: PPAstImportStatement;
- constants: PPAstConstantDeclaration;
- types: PPAstTypedDeclaration;
- variables: PPAstVariableDeclaration;
- procedures: PPAstProcedureDeclaration;
- statements: AstCompoundStatement
- END;
- PAstModule = POINTER TO AstModule;
-
-PROCEDURE parse(lexer: PLexer): PAstModule;
-
-END Parser.
diff --git a/source/Transpiler.def b/source/Transpiler.def
deleted file mode 100644
index 5f8c219..0000000
--- a/source/Transpiler.def
+++ /dev/null
@@ -1,20 +0,0 @@
-DEFINITION MODULE Transpiler;
-
-FROM FIO IMPORT File;
-
-FROM Common IMPORT ShortString;
-FROM Lexer IMPORT PLexer, Lexer;
-FROM Parser IMPORT PAstModule;
-
-TYPE
- TranspilerContext = RECORD
- input_name: ShortString;
- output: File;
- definition: File;
- indentation: CARDINAL
- END;
- PTranspilerContext = POINTER TO TranspilerContext;
-
-PROCEDURE transpile(ast_module: PAstModule; output: File; definition: File; input_name: ShortString);
-
-END Transpiler.