From d75fc8f5d206e0322be851b9d215e58c74e6e3b9 Mon Sep 17 00:00:00 2001 From: Friedrich von Never Date: Sat, 15 Jul 2023 13:26:12 +0200 Subject: [PATCH] (#77) CParser: get rid of TODOs for preprocessor We deal with it in a separate parser anyway. --- Cesium.Parser/CParser.cs | 65 ---------------------------------------- 1 file changed, 65 deletions(-) diff --git a/Cesium.Parser/CParser.cs b/Cesium.Parser/CParser.cs index 5b0a9d48..f91281dc 100644 --- a/Cesium.Parser/CParser.cs +++ b/Cesium.Parser/CParser.cs @@ -1,8 +1,6 @@ using System.Collections.Immutable; -using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using Cesium.Ast; -using Yoakke.Collections.Values; using Yoakke.SynKit.C.Syntax; using Yoakke.SynKit.Lexer; using Yoakke.SynKit.Parser; @@ -943,69 +941,6 @@ private static ImmutableArray MakeDeclarationList( // TODO[#78]: 6.9.2 External object definitions - // 6.10 Preprocessing directives - - // TODO[#77]: - // preprocessing-file: - // group? - // group: - // group-part - // group group-part - // group-part: - // if-section - // control-line - // text-line - // # non-directive - // if-section: - // if-group elif-groups? else-group? endif-line - // if-group: - // # if constant-expression new-line group? - // # ifdef identifier new-line group? - // # ifndef identifier new-line group? - // elif-groups: - // elif-group - // elif-groups elif-group - // elif-group: - // # elif constant-expression new-line group? - // else-group: - // # else new-line group? - // endif-line: - // # endif new-line - // control-line: - // # include pp-tokens new-line - // # define identifier replacement-list new-line - // # define identifier lparen identifier-list? ) replacement-list new-line - // # define identifier lparen ... ) replacement-list new-line - // # define identifier lparen identifier-list , ... ) replacement-list new-line - // # undef identifier new-line - // # line pp-tokens new-line - // # error pp-tokens? new-line - // # pragma pp-tokens? new-line - // # new-line - // text-line: - // pp-tokens? new-line - // non-directive: - // pp-tokens new-line - // lparen: - // a ( character not immediately preceded by white space - // replacement-list: - // pp-tokens? - // pp-tokens: - // preprocessing-token - // pp-tokens preprocessing-token - // new-line: - // the new-line character - - // TODO[#77]: 6.10.1 Conditional inclusion - // TODO[#77]: 6.10.2 Source file inclusion - // TODO[#77]: 6.10.3 Macro replacement - // TODO[#77]: 6.10.4 Line control - // TODO[#77]: 6.10.5 Error directive - // TODO[#77]: 6.10.6 Pragma directive - // TODO[#77]: 6.10.7 Null directive - // TODO[#77]: 6.10.8 Predefined macro names - // TODO[#77]: 6.10.9 Pragma operator - private ParseResult<(DeclarationSpecifiers, Declarator)> CustomParseSpecifiersAndDeclarator(int offset) { var declarationSpecifiersResult = CustomParseOneOrMore(parseDeclarationSpecifier, offset);