1 /* 2 * Copyright (c) 2025 Shenzhen Kaihong Digital. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 package antlr; 17 18 import org.antlr.v4.runtime.tree.ParseTree; 19 20 import java.util.List; 21 22 /** 23 * <h3>类名:该类用于xxx</h3> 24 * description typescript custom visitor 25 * 26 * @author Administrator 27 * date 2025-02-28 28 * @version 1.0 29 * @since 2025-02-28 30 */ 31 public class CPP14CustomListener extends CPP14ParserBaseListener { 32 @Override enterAbstractDeclarator(CPP14Parser.AbstractDeclaratorContext ctx)33 public void enterAbstractDeclarator(CPP14Parser.AbstractDeclaratorContext ctx) { 34 super.enterAbstractDeclarator(ctx); 35 System.out.println("c/cpp struct: " + ctx.getText()); 36 } 37 38 @Override enterClassSpecifier(CPP14Parser.ClassSpecifierContext ctx)39 public void enterClassSpecifier(CPP14Parser.ClassSpecifierContext ctx) { 40 super.enterClassSpecifier(ctx); 41 System.out.println("c/cpp class: " + ctx.getText()); 42 } 43 44 @Override enterDeclaration(CPP14Parser.DeclarationContext ctx)45 public void enterDeclaration(CPP14Parser.DeclarationContext ctx) { 46 super.enterDeclaration(ctx); 47 System.out.println("c/cpp declaration: " + ctx.getText()); 48 } 49 50 @Override enterFunctionDefinition(CPP14Parser.FunctionDefinitionContext ctx)51 public void enterFunctionDefinition(CPP14Parser.FunctionDefinitionContext ctx) { 52 super.enterFunctionDefinition(ctx); 53 System.out.println("c/cpp function: " + ctx.getText()); 54 } 55 56 @Override enterEnumeratorDefinition(CPP14Parser.EnumeratorDefinitionContext ctx)57 public void enterEnumeratorDefinition(CPP14Parser.EnumeratorDefinitionContext ctx) { 58 super.enterEnumeratorDefinition(ctx); 59 System.out.println("c/cpp enumerator definition: " + ctx.getText()); 60 } 61 62 @Override enterEnumSpecifier(CPP14Parser.EnumSpecifierContext ctx)63 public void enterEnumSpecifier(CPP14Parser.EnumSpecifierContext ctx) { 64 super.enterEnumSpecifier(ctx); 65 System.out.println("c/cpp enum: " + ctx.getText()); 66 } 67 68 @Override enterTypeSpecifier(CPP14Parser.TypeSpecifierContext ctx)69 public void enterTypeSpecifier(CPP14Parser.TypeSpecifierContext ctx) { 70 super.enterTypeSpecifier(ctx); 71 System.out.println("c/cpp type: " + ctx.getText()); 72 } 73 74 @Override enterTemplateDeclaration(CPP14Parser.TemplateDeclarationContext ctx)75 public void enterTemplateDeclaration(CPP14Parser.TemplateDeclarationContext ctx) { 76 super.enterTemplateDeclaration(ctx); 77 System.out.println("c/cpp template: " + ctx.getText()); 78 } 79 80 @Override enterAttributeDeclaration(CPP14Parser.AttributeDeclarationContext ctx)81 public void enterAttributeDeclaration(CPP14Parser.AttributeDeclarationContext ctx) { 82 super.enterAttributeDeclaration(ctx); 83 System.out.println("c/cpp attribute: " + ctx.getText()); 84 } 85 86 } 87