Merge pull request #55 from alainmarcel/alainmarcel-patch-1 Full conversion to cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..8701428 --- /dev/null +++ b/CMakeLists.txt
@@ -0,0 +1,215 @@ +# -*- mode:cmake -*- +cmake_minimum_required (VERSION 2.8) +# 2.8 needed because of ExternalProject + +add_subdirectory(third_party/flatbuffers) +add_subdirectory(third_party/antlr4/runtime/Cpp) + +FIND_PACKAGE(SWIG REQUIRED) + +# Detect build type, fallback to release and throw a warning if use didn't specify any +if(NOT CMAKE_BUILD_TYPE) + message(WARNING "Build type not set, falling back to Release mode. + To specify build type use: + -DCMAKE_BUILD_TYPE=<mode> where <mode> is Debug or Release.") + set(CMAKE_BUILD_TYPE "Release" CACHE STRING + "Choose the type of build, options are: Debug Release." + FORCE) +endif(NOT CMAKE_BUILD_TYPE) + +if(NOT WITH_TEST) + message(STATUS "Building without test. To enable test build use: -DWITH_TEST=True") + set(WITH_TEST False CACHE STRING + "Chose to build with or without test executable" + FORCE) +endif(NOT WITH_TEST) + +option(WITH_LIBCXX "Building with clang++ and libc++(in Linux). To enable with: -DWITH_LIBCXX=On" On) + +project(SURELOG) + +#file(STRINGS "VERSION" SURELOG_VERSION) + +if (WITH_TEST) + +endif(WITH_TEST) + +set(CMAKE_CXX_STANDARD 11) + +cmake_minimum_required(VERSION 3.0) + +# Python +find_package(PythonLibs 3.3 REQUIRED) +INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/third_party/antlr4/runtime/Cpp/runtime/src/") +INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/third_party/flatbuffers/include/") +message(STATUS "PYTHON_LIBRARIES = ${PYTHON_LIBRARIES}") +message(STATUS "PYTHON_EXECUTABLE = ${PYTHON_EXECUTABLE}") +message(STATUS "PYTHON_INCLUDE_DIRS = ${PYTHON_INCLUDE_DIRS}") + +# C++ +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CXX_WARNING_FLAGS}") +set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g ${MY_CXX_WARNING_FLAGS}") +set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG ${MY_CXX_WARNING_FLGAS}") +# Compiler-specific C++11 activation. +if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel") + execute_process( + COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) + # Just g++-5.0 and greater contain <codecvt> header. (test in ubuntu) + if (NOT (GCC_VERSION VERSION_GREATER 5.0 OR GCC_VERSION VERSION_EQUAL 5.0)) + message(FATAL_ERROR "${PROJECT_NAME} requires g++ 5.0 or greater.") + endif () +elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") +elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND CMAKE_SYSTEM_NAME MATCHES "Linux") + execute_process( + COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE CLANG_VERSION) + if (NOT (CLANG_VERSION VERSION_GREATER 4.2.1 OR CLANG_VERSION VERSION_EQUAL 4.2.1)) + message(FATAL_ERROR "${PROJECT_NAME} requires clang 4.2.1 or greater.") + endif () + # You can use libc++ to compile this project when g++ is NOT greater than or equal to 5.0. + if (WITH_LIBCXX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + endif() +elseif ( MSVC_VERSION GREATER 1800 OR MSVC_VERSION EQUAL 1800 ) + # Visual Studio 2012+ supports c++11 features +else () + message(FATAL_ERROR "Your C++ compiler does not support C++11.") +endif () + +# Flatbuffer + +set(flatbuffer-GENERATED_SRC + ${PROJECT_SOURCE_DIR}/src/Cache/header_generated.h + ${PROJECT_SOURCE_DIR}/src/Cache/parser_generated.h + ${PROJECT_SOURCE_DIR}/src/Cache/preproc_generated.h + ${PROJECT_SOURCE_DIR}/src/Cache/python_api_generated.h + ${PROJECT_SOURCE_DIR}/src/Cache/ParseCache.cpp + ) + +foreach( header_file ${flatbuffer-GENERATED_SRC} ) + set_source_files_properties( + ${header_file} + PROPERTIES + GENERATED TRUE + ) +endforeach( header_file ${flatbuffer-GENERATED_SRC} ) +add_custom_target(GenerateSerializer DEPENDS ${flatbuffer-GENERATED_SRC}) +add_custom_command( + OUTPUT ${flatbuffer-GENERATED_SRC} + COMMAND + flatc --cpp --binary -o ../src/Cache/ ../src/Cache/header.fbs ../src/Cache/parser.fbs ../src/Cache/preproc.fbs ../src/Cache/python_api.fbs + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" + DEPENDS ${PROJECT_SOURCE_DIR}/src/Cache/parser.fbs ${PROJECT_SOURCE_DIR}/src/Cache/header.fbs ${FLATBUFFERS_FLATC_EXECUTABLE} + ) + +# Java +find_package(Java) +find_package(Java COMPONENTS Runtime) +set(ANTLR_JAR_LOCATION ${PROJECT_SOURCE_DIR}/third_party/antlr4/antlr4-4.7.2-complete.jar) +# + +enable_testing() +#add_test(NAME GenerateFromGrammar COMMAND ${Java_JAVA_EXECUTABLE} org.antlr.v4.Tool -Dlanguage=Cpp *.g4) + + +add_custom_target(GenerateParser DEPENDS ${PROJECT_SOURCE_DIR}/src/SourceCompile/VObjectTypes.cpp) +add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/src/SourceCompile/VObjectTypes.cpp + COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/src/parser/ + COMMAND java -jar ${ANTLR_JAR_LOCATION} -Werror -Dlanguage=Cpp -listener -visitor -o ${PROJECT_SOURCE_DIR}/src/parser/ ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpParser.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterParser.g4 + COMMAND SourceCompile/generate_parser_listener.tcl ; + COMMAND API/generate_python_listener_api.tcl ; + COMMAND ${SWIG_EXECUTABLE} -c++ -python -o API/slapi_wrap.cxx API/slapi.i ; + COMMAND API/embed_python_api.tcl + WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/src/" + DEPENDS ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterLexer.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aPpParser.g4 ${PROJECT_SOURCE_DIR}/grammar/SV3_1aSplitterParser.g4 ${PROJECT_SOURCE_DIR}/src/API/slapi.i + ) + +set(CMAKE_BUILD_FILES_DIRECTORY ${dir}) +set(CMAKE_BUILD_DIRECTORY ${dir}) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../src/dist/${CMAKE_BUILD_TYPE}/GNU-Linux/ ) + +include_directories( + ${PROJECT_SOURCE_DIR}/src/API + ${PROJECT_SOURCE_DIR}/src/Design + ${PROJECT_SOURCE_DIR}/src/Library + ${PROJECT_SOURCE_DIR}/src/parser + ${PROJECT_SOURCE_DIR}/src/SourceCompile + ${PROJECT_SOURCE_DIR}/src/DesignCompile + ${PROJECT_SOURCE_DIR}/src/Testbench + ${PROJECT_SOURCE_DIR}/src/CommandLine + ${PROJECT_SOURCE_DIR}/src/Common + ${PROJECT_SOURCE_DIR}/src/ErrorReporting + ${PROJECT_SOURCE_DIR}/src/Utils + ${PROJECT_SOURCE_DIR}/src/Cache + ${PROJECT_SOURCE_DIR}/src/Config + ${PROJECT_SOURCE_DIR}/src/Expression + ${PROJECT_SOURCE_DIR}/src/Package +) + +file(GLOB surelog_SRC + + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aLexer.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aParserBaseListener.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aParser.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aParserListener.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aPpLexer.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aPpParserBaseListener.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aPpParser.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aPpParserListener.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aSplitterLexer.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aSplitterParserBaseListener.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aSplitterParser.cpp + ${PROJECT_SOURCE_DIR}/src/parser/SV3_1aSplitterParserListener.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/VObjectTypes.cpp + ${PROJECT_SOURCE_DIR}/src/*.cpp + ${PROJECT_SOURCE_DIR}/src/API/*.cpp + ${PROJECT_SOURCE_DIR}/src/Design/*.cpp + ${PROJECT_SOURCE_DIR}/src/Library/*.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/AnalyzeFile.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/Compiler.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/PreprocessFile.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/SymbolTable.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/AntlrParserErrorListener.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/CompileSourceFile.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/PythonListen.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/AntlrParserHandler.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/LoopCheck.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/SV3_1aPpTreeShapeListener.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/CheckCompile.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/MacroInfo.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/SV3_1aTreeShapeHelper.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/CompilationUnit.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/ParseFile.cpp + ${PROJECT_SOURCE_DIR}/src/SourceCompile/SV3_1aTreeShapeListener.cpp + ${PROJECT_SOURCE_DIR}/src/DesignCompile/*.cpp + ${PROJECT_SOURCE_DIR}/src/Testbench/*.cpp + ${PROJECT_SOURCE_DIR}/src/CommandLine/*.cpp + ${PROJECT_SOURCE_DIR}/src/Common/*.cpp + ${PROJECT_SOURCE_DIR}/src/ErrorReporting/*.cpp + ${PROJECT_SOURCE_DIR}/src/Utils/*.cpp + ${PROJECT_SOURCE_DIR}/src/Cache/*.cpp + ${PROJECT_SOURCE_DIR}/src/Config/*.cpp + ${PROJECT_SOURCE_DIR}/src/Expression/*.cpp + ${PROJECT_SOURCE_DIR}/src/Package/*.cpp + ) + +add_executable(surelog ${surelog_SRC}) +add_dependencies(surelog flatc) +add_dependencies(surelog antlr4_static) + +add_dependencies(surelog GenerateParser) +add_dependencies(surelog GenerateSerializer) + +target_link_libraries( + surelog ${PYTHON_LIBRARIES} + ) + +#target_link_libraries( +# surelog ${ANTLR_LIB} +#) + +target_link_libraries( + surelog -L${PROJECT_SOURCE_DIR}/dist/ libantlr4-runtime.a dl util m rt pthread +)
diff --git a/Makefile b/Makefile index 55c3c02..49000d2 100644 --- a/Makefile +++ b/Makefile
@@ -1,11 +1,13 @@ release: - cd src; ./buildrelease.sh + mkdir -p build; + mkdir -p src/dist; + cd build; cmake ../; make -j 4 + cd src; ./release.tcl "release tcmalloc" + cd src/Testcases; ./regression.tcl test: cd src/Testcases; ./regression.tcl clean: - rm -rf flatbuffers; - rm -rf antlr4; - rm -rf src/build; - rm -rf src/dist; + rm -rf build; + chmod -fR u+rwx src/dist; rm -rf src/dist;
diff --git a/README.md b/README.md index 2f4ac21..363dc45 100644 --- a/README.md +++ b/README.md
@@ -33,6 +33,77 @@ For more build/test options and system requirements for building see [`src/README`](./src/README.md) file. +# Surelog commands + * The executable is located here + * src/dist/Release/GNU-Linux/surelog + * STANDARD VERILOG COMMAND LINE: + * -f <file> Accepts a file containing command line arguments + * -v <file> Library file + * -y <path> Library directory + * +incdir+<dir>+... Specifies include paths + * -Idir Specifies include paths + * +libext+<extname>+... Specifies the library extensions + * <file>.v Verilog File + * <file>.sv System Verilog File + * +liborder Lib Order option (ignored) + * +librescan Lib Rescan option (ignored) + * +libverbose Lib Verbose option (ignored) + * +nolibcell No Lib Cell option (ignored) + * +define+macro_name=definition+... + * Defines a macro and optionally its value + * -L <libName> Defines library compilation order + * -map <mapFile> Specifies a library mapping file (multiple -map options supported) + * -cfgfile <confiFile> Specifies a configuration file (multiple -cfgFile options supported) + * -cfg <configName> Specifies a configuration to use (multiple -cfg options supported) + * -Dvar=value Same as env var definition for -f files var substitution + * FLOWS OPTIONS: + * -fileunit Compiles each Verilog file as an independent + * compilation unit (under slpp_unit/ if -writepp used) + * -diffcompunit Compiles both all files as a whole unit and + * separate compilation units to perform diffs + * -parse Parse/Compile/Elaborate the files after pre-processing step + * -nocomp Turns off Compilation & Elaboration + * -noelab Turns off Elaboration + * -pythonlistener Enables the Parser Python Listener + * -pythonlistenerfile <script.py> Specifies the AST python listener file + * -pythonevalscriptperfile <script.py> Eval the Python script on each source file (Multithreaded) + * -pythonevalscript <script.py> Eval the Python script at the design level + * -nopython Turns off all Python features, including waivers + * -strictpythoncheck Turns on strict Python checks + * -mt <nb_max_treads> 0 up to 512 max threads, 0 or 1 being single threaded, + * if "max" is given, the program will use one thread + * per core on the host + * -split <line number> Split files or modules larger than specified line number for multi thread compilation + * -timescale=<timescale> Specifies the overall timescale + * -nobuiltin Do not parse SV builtin classes (array...) + + * TRACES OPTIONS: + * -d <int> Debug <level> 1-4, lib, ast, inst, incl + * -nostdout Mutes Standard output + * -verbose Gives verbose processing information + * -profile Gives Profiling information + * -l <file> Specifies log file, default is surelog.log under output dir + + * OUTPUT OPTIONS: + * -odir <dir> Specifies the output directory, default is ./ + * -writeppfile <file> Writes out Preprocessor output in file + * (all compilation units will override this file) + * -writepp Writes out Preprocessor output (all compilation + * units will generate files under slpp_all/ or slpp_unit/) + * -lineoffsetascomments Writes the preprocessor line offsets as comments as opposed as parser directives + * -nocache Default allows to create a cache for include files, this option prevents it + * -cache <dir> Specifies the cache directory, default is slpp_all/cache or slpp_unit/cache + * -createcache Create cache for precompiled packages + * -filterdirectives Filters out simple directives like + * `default_nettype in pre-processor's output + * -filterprotected Filters out protected regions in pre-processor's output + * -filtercomments Filters out comments in pre-processor's output + * -outputlineinfo Outputs SLline directives in pre-processor's output + * -pploc Output message location in terms of post preprocessor location + * -noinfo Filters out INFO messages + * -nonote Filters out NOTE messages + * -nowarning Filters out WARNING messages + * -o <path> Turns on all compilation stages, produces all outputs under that path
diff --git a/src/API/SV3_1aPythonListener.cpp b/src/API/SV3_1aPythonListener.cpp index cffccaa..ca16fdf 100644 --- a/src/API/SV3_1aPythonListener.cpp +++ b/src/API/SV3_1aPythonListener.cpp
@@ -1,23 +1,14 @@ /* - Copyright 2019 Alain Dargelas - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + * Copyright 2017 ACE Cloud LLC + * This file is the sole propriety of ACE Cloud LLC + * Use/modify only with explicit written authorization of ACE Cloud LLC + * Alain Dargelas, President * */ -/* +/* * File: SV3_1aPythonListener.cpp * Author: alain - * + * * Created on April 16, 2017, 8:28 PM */ #include "../SourceCompile/SymbolTable.h" @@ -45,47 +36,38 @@ #include "../Utils/FileUtils.h" #include "PythonAPI.h" -SV3_1aPythonListener::SV3_1aPythonListener(PythonListen* pl, - PyThreadState* interpState, - antlr4::CommonTokenStream* tokens, - unsigned int lineOffset) - : m_pl(pl), - m_interpState(interpState), - m_tokens(tokens), - m_lineOffset(lineOffset) {} +SV3_1aPythonListener::SV3_1aPythonListener (PythonListen* pl, PyThreadState* interpState, antlr4::CommonTokenStream* tokens, unsigned int lineOffset) : +m_pl(pl), m_interpState(interpState), m_tokens(tokens), m_lineOffset(lineOffset) { } -SV3_1aPythonListener::SV3_1aPythonListener(const SV3_1aPythonListener& orig) {} +SV3_1aPythonListener::SV3_1aPythonListener (const SV3_1aPythonListener& orig) { } -SV3_1aPythonListener::~SV3_1aPythonListener() {} +SV3_1aPythonListener::~SV3_1aPythonListener () { } -void SV3_1aPythonListener::logError(ErrorDefinition::ErrorType error, - ParserRuleContext* ctx, std::string object, - bool printColumn) { - std::pair<int, int> lineCol = - ParseUtils::getLineColumn(getTokenStream(), ctx); +void +SV3_1aPythonListener::logError (ErrorDefinition::ErrorType error, ParserRuleContext* ctx, std::string object, bool printColumn) +{ + std::pair<int, int> lineCol = ParseUtils::getLineColumn (getTokenStream (), ctx); - Location loc( - m_pl->getParseFile()->getFileId(lineCol.first + m_lineOffset), - m_pl->getParseFile()->getLineNb(lineCol.first + m_lineOffset), - printColumn ? lineCol.second : 0, - m_pl->getCompileSourceFile()->getSymbolTable()->registerSymbol(object)); - Error err(error, loc); - m_pl->addError(err); + Location loc (m_pl->getParseFile()->getFileId (lineCol.first + m_lineOffset), m_pl->getParseFile()->getLineNb (lineCol.first + m_lineOffset), printColumn ? lineCol.second : 0, + m_pl->getCompileSourceFile()->getSymbolTable ()->registerSymbol(object)); + Error err (error, loc); + m_pl->addError (err); + } -void SV3_1aPythonListener::logError(ErrorDefinition::ErrorType error, - Location& loc, bool showDuplicates) { - Error err(error, loc); - m_pl->getCompileSourceFile()->getErrorContainer()->addError(err, - showDuplicates); +void +SV3_1aPythonListener::logError (ErrorDefinition::ErrorType error, Location& loc, bool showDuplicates) +{ + Error err (error, loc); + m_pl->getCompileSourceFile ()->getErrorContainer ()->addError (err, showDuplicates); } -void SV3_1aPythonListener::logError(ErrorDefinition::ErrorType error, - Location& loc, Location& extraLoc, - bool showDuplicates) { +void +SV3_1aPythonListener::logError (ErrorDefinition::ErrorType error, Location& loc, Location& extraLoc, bool showDuplicates) +{ std::vector<Location> extras; - extras.push_back(extraLoc); - Error err(error, loc, &extras); - m_pl->getCompileSourceFile()->getErrorContainer()->addError(err, - showDuplicates); + extras.push_back (extraLoc); + Error err (error, loc, &extras); + m_pl->getCompileSourceFile ()->getErrorContainer ()->addError (err, showDuplicates); } +
diff --git a/src/API/SV3_1aPythonListener.h b/src/API/SV3_1aPythonListener.h new file mode 100644 index 0000000..503009f --- /dev/null +++ b/src/API/SV3_1aPythonListener.h
@@ -0,0 +1,7244 @@ +// This file is automatically generated by generate_python_listener_api.tcl DO NOT EDIT!!! +/* + Copyright 2019 Alain Dargelas + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ +#include "PythonAPI.h" +#ifndef SV3_1APYTHONLISTENER_H +#define SV3_1APYTHONLISTENER_H + +namespace SURELOG { + + +class SV3_1aPythonListener : public SV3_1aParserBaseListener { +private: + PythonListen* m_pl; + PyThreadState* m_interpState; + antlr4::CommonTokenStream* m_tokens; + unsigned int m_lineOffset; +public: + SV3_1aPythonListener(PythonListen* pf, PyThreadState* interpState, antlr4::CommonTokenStream* tokens, unsigned int lineOffset); + SV3_1aPythonListener(const SV3_1aPythonListener& orig); + PyThreadState* getPyThreadState() { return m_interpState; } + PythonListen* getPythonListen() { return m_pl; } + antlr4::CommonTokenStream* getTokenStream() { return m_tokens; } + ~SV3_1aPythonListener(); + + void logError(ErrorDefinition::ErrorType error, ParserRuleContext* ctx, std::string object, bool printColumn = false); + void logError(ErrorDefinition::ErrorType, Location& loc, bool showDuplicates = false); + void logError(ErrorDefinition::ErrorType, Location& loc, Location& extraLoc, bool showDuplicates = false); + void enterTop_level_rule(SV3_1aParser::Top_level_ruleContext * ctx) { +PythonAPI::evalScript("enterTop_level_rule", this, (ParserRuleContext*) ctx); +} + + void exitTop_level_rule(SV3_1aParser::Top_level_ruleContext * ctx) { +PythonAPI::evalScript("exitTop_level_rule", this, (ParserRuleContext*) ctx); +} + + void enterTop_level_library_rule(SV3_1aParser::Top_level_library_ruleContext * ctx) { +PythonAPI::evalScript("enterTop_level_library_rule", this, (ParserRuleContext*) ctx); +} + + void exitTop_level_library_rule(SV3_1aParser::Top_level_library_ruleContext * ctx) { +PythonAPI::evalScript("exitTop_level_library_rule", this, (ParserRuleContext*) ctx); +} + + void enterLibrary_text(SV3_1aParser::Library_textContext * ctx) { +PythonAPI::evalScript("enterLibrary_text", this, (ParserRuleContext*) ctx); +} + + void exitLibrary_text(SV3_1aParser::Library_textContext * ctx) { +PythonAPI::evalScript("exitLibrary_text", this, (ParserRuleContext*) ctx); +} + + void enterLibrary_descriptions(SV3_1aParser::Library_descriptionsContext * ctx) { +PythonAPI::evalScript("enterLibrary_descriptions", this, (ParserRuleContext*) ctx); +} + + void exitLibrary_descriptions(SV3_1aParser::Library_descriptionsContext * ctx) { +PythonAPI::evalScript("exitLibrary_descriptions", this, (ParserRuleContext*) ctx); +} + + void enterLibrary_declaration(SV3_1aParser::Library_declarationContext * ctx) { +PythonAPI::evalScript("enterLibrary_declaration", this, (ParserRuleContext*) ctx); +} + + void exitLibrary_declaration(SV3_1aParser::Library_declarationContext * ctx) { +PythonAPI::evalScript("exitLibrary_declaration", this, (ParserRuleContext*) ctx); +} + + void enterFile_path_spec(SV3_1aParser::File_path_specContext * ctx) { +PythonAPI::evalScript("enterFile_path_spec", this, (ParserRuleContext*) ctx); +} + + void exitFile_path_spec(SV3_1aParser::File_path_specContext * ctx) { +PythonAPI::evalScript("exitFile_path_spec", this, (ParserRuleContext*) ctx); +} + + void enterInclude_statement(SV3_1aParser::Include_statementContext * ctx) { +PythonAPI::evalScript("enterInclude_statement", this, (ParserRuleContext*) ctx); +} + + void exitInclude_statement(SV3_1aParser::Include_statementContext * ctx) { +PythonAPI::evalScript("exitInclude_statement", this, (ParserRuleContext*) ctx); +} + + void enterSource_text(SV3_1aParser::Source_textContext * ctx) { +PythonAPI::evalScript("enterSource_text", this, (ParserRuleContext*) ctx); +} + + void exitSource_text(SV3_1aParser::Source_textContext * ctx) { +PythonAPI::evalScript("exitSource_text", this, (ParserRuleContext*) ctx); +} + + void enterNull_rule(SV3_1aParser::Null_ruleContext * ctx) { +PythonAPI::evalScript("enterNull_rule", this, (ParserRuleContext*) ctx); +} + + void exitNull_rule(SV3_1aParser::Null_ruleContext * ctx) { +PythonAPI::evalScript("exitNull_rule", this, (ParserRuleContext*) ctx); +} + + void enterDescription(SV3_1aParser::DescriptionContext * ctx) { +PythonAPI::evalScript("enterDescription", this, (ParserRuleContext*) ctx); +} + + void exitDescription(SV3_1aParser::DescriptionContext * ctx) { +PythonAPI::evalScript("exitDescription", this, (ParserRuleContext*) ctx); +} + + void enterModule_nonansi_header(SV3_1aParser::Module_nonansi_headerContext * ctx) { +PythonAPI::evalScript("enterModule_nonansi_header", this, (ParserRuleContext*) ctx); +} + + void exitModule_nonansi_header(SV3_1aParser::Module_nonansi_headerContext * ctx) { +PythonAPI::evalScript("exitModule_nonansi_header", this, (ParserRuleContext*) ctx); +} + + void enterModule_ansi_header(SV3_1aParser::Module_ansi_headerContext * ctx) { +PythonAPI::evalScript("enterModule_ansi_header", this, (ParserRuleContext*) ctx); +} + + void exitModule_ansi_header(SV3_1aParser::Module_ansi_headerContext * ctx) { +PythonAPI::evalScript("exitModule_ansi_header", this, (ParserRuleContext*) ctx); +} + + void enterModule_declaration(SV3_1aParser::Module_declarationContext * ctx) { +PythonAPI::evalScript("enterModule_declaration", this, (ParserRuleContext*) ctx); +} + + void exitModule_declaration(SV3_1aParser::Module_declarationContext * ctx) { +PythonAPI::evalScript("exitModule_declaration", this, (ParserRuleContext*) ctx); +} + + void enterEndmodule(SV3_1aParser::EndmoduleContext * ctx) { +PythonAPI::evalScript("enterEndmodule", this, (ParserRuleContext*) ctx); +} + + void exitEndmodule(SV3_1aParser::EndmoduleContext * ctx) { +PythonAPI::evalScript("exitEndmodule", this, (ParserRuleContext*) ctx); +} + + void enterModule_keyword(SV3_1aParser::Module_keywordContext * ctx) { +PythonAPI::evalScript("enterModule_keyword", this, (ParserRuleContext*) ctx); +} + + void exitModule_keyword(SV3_1aParser::Module_keywordContext * ctx) { +PythonAPI::evalScript("exitModule_keyword", this, (ParserRuleContext*) ctx); +} + + void enterInterface_nonansi_header(SV3_1aParser::Interface_nonansi_headerContext * ctx) { +PythonAPI::evalScript("enterInterface_nonansi_header", this, (ParserRuleContext*) ctx); +} + + void exitInterface_nonansi_header(SV3_1aParser::Interface_nonansi_headerContext * ctx) { +PythonAPI::evalScript("exitInterface_nonansi_header", this, (ParserRuleContext*) ctx); +} + + void enterInterface_ansi_header(SV3_1aParser::Interface_ansi_headerContext * ctx) { +PythonAPI::evalScript("enterInterface_ansi_header", this, (ParserRuleContext*) ctx); +} + + void exitInterface_ansi_header(SV3_1aParser::Interface_ansi_headerContext * ctx) { +PythonAPI::evalScript("exitInterface_ansi_header", this, (ParserRuleContext*) ctx); +} + + void enterInterface_declaration(SV3_1aParser::Interface_declarationContext * ctx) { +PythonAPI::evalScript("enterInterface_declaration", this, (ParserRuleContext*) ctx); +} + + void exitInterface_declaration(SV3_1aParser::Interface_declarationContext * ctx) { +PythonAPI::evalScript("exitInterface_declaration", this, (ParserRuleContext*) ctx); +} + + void enterEndinterface(SV3_1aParser::EndinterfaceContext * ctx) { +PythonAPI::evalScript("enterEndinterface", this, (ParserRuleContext*) ctx); +} + + void exitEndinterface(SV3_1aParser::EndinterfaceContext * ctx) { +PythonAPI::evalScript("exitEndinterface", this, (ParserRuleContext*) ctx); +} + + void enterProgram_nonansi_header(SV3_1aParser::Program_nonansi_headerContext * ctx) { +PythonAPI::evalScript("enterProgram_nonansi_header", this, (ParserRuleContext*) ctx); +} + + void exitProgram_nonansi_header(SV3_1aParser::Program_nonansi_headerContext * ctx) { +PythonAPI::evalScript("exitProgram_nonansi_header", this, (ParserRuleContext*) ctx); +} + + void enterProgram_ansi_header(SV3_1aParser::Program_ansi_headerContext * ctx) { +PythonAPI::evalScript("enterProgram_ansi_header", this, (ParserRuleContext*) ctx); +} + + void exitProgram_ansi_header(SV3_1aParser::Program_ansi_headerContext * ctx) { +PythonAPI::evalScript("exitProgram_ansi_header", this, (ParserRuleContext*) ctx); +} + + void enterEndchecker(SV3_1aParser::EndcheckerContext * ctx) { +PythonAPI::evalScript("enterEndchecker", this, (ParserRuleContext*) ctx); +} + + void exitEndchecker(SV3_1aParser::EndcheckerContext * ctx) { +PythonAPI::evalScript("exitEndchecker", this, (ParserRuleContext*) ctx); +} + + void enterChecker_declaration(SV3_1aParser::Checker_declarationContext * ctx) { +PythonAPI::evalScript("enterChecker_declaration", this, (ParserRuleContext*) ctx); +} + + void exitChecker_declaration(SV3_1aParser::Checker_declarationContext * ctx) { +PythonAPI::evalScript("exitChecker_declaration", this, (ParserRuleContext*) ctx); +} + + void enterProgram_declaration(SV3_1aParser::Program_declarationContext * ctx) { +PythonAPI::evalScript("enterProgram_declaration", this, (ParserRuleContext*) ctx); +} + + void exitProgram_declaration(SV3_1aParser::Program_declarationContext * ctx) { +PythonAPI::evalScript("exitProgram_declaration", this, (ParserRuleContext*) ctx); +} + + void enterEndprogram(SV3_1aParser::EndprogramContext * ctx) { +PythonAPI::evalScript("enterEndprogram", this, (ParserRuleContext*) ctx); +} + + void exitEndprogram(SV3_1aParser::EndprogramContext * ctx) { +PythonAPI::evalScript("exitEndprogram", this, (ParserRuleContext*) ctx); +} + + void enterClass_declaration(SV3_1aParser::Class_declarationContext * ctx) { +PythonAPI::evalScript("enterClass_declaration", this, (ParserRuleContext*) ctx); +} + + void exitClass_declaration(SV3_1aParser::Class_declarationContext * ctx) { +PythonAPI::evalScript("exitClass_declaration", this, (ParserRuleContext*) ctx); +} + + void enterEndclass(SV3_1aParser::EndclassContext * ctx) { +PythonAPI::evalScript("enterEndclass", this, (ParserRuleContext*) ctx); +} + + void exitEndclass(SV3_1aParser::EndclassContext * ctx) { +PythonAPI::evalScript("exitEndclass", this, (ParserRuleContext*) ctx); +} + + void enterInterface_class_type(SV3_1aParser::Interface_class_typeContext * ctx) { +PythonAPI::evalScript("enterInterface_class_type", this, (ParserRuleContext*) ctx); +} + + void exitInterface_class_type(SV3_1aParser::Interface_class_typeContext * ctx) { +PythonAPI::evalScript("exitInterface_class_type", this, (ParserRuleContext*) ctx); +} + + void enterInterface_class_declaration(SV3_1aParser::Interface_class_declarationContext * ctx) { +PythonAPI::evalScript("enterInterface_class_declaration", this, (ParserRuleContext*) ctx); +} + + void exitInterface_class_declaration(SV3_1aParser::Interface_class_declarationContext * ctx) { +PythonAPI::evalScript("exitInterface_class_declaration", this, (ParserRuleContext*) ctx); +} + + void enterInterface_class_item(SV3_1aParser::Interface_class_itemContext * ctx) { +PythonAPI::evalScript("enterInterface_class_item", this, (ParserRuleContext*) ctx); +} + + void exitInterface_class_item(SV3_1aParser::Interface_class_itemContext * ctx) { +PythonAPI::evalScript("exitInterface_class_item", this, (ParserRuleContext*) ctx); +} + + void enterInterface_class_method(SV3_1aParser::Interface_class_methodContext * ctx) { +PythonAPI::evalScript("enterInterface_class_method", this, (ParserRuleContext*) ctx); +} + + void exitInterface_class_method(SV3_1aParser::Interface_class_methodContext * ctx) { +PythonAPI::evalScript("exitInterface_class_method", this, (ParserRuleContext*) ctx); +} + + void enterEndpackage(SV3_1aParser::EndpackageContext * ctx) { +PythonAPI::evalScript("enterEndpackage", this, (ParserRuleContext*) ctx); +} + + void exitEndpackage(SV3_1aParser::EndpackageContext * ctx) { +PythonAPI::evalScript("exitEndpackage", this, (ParserRuleContext*) ctx); +} + + void enterPackage_declaration(SV3_1aParser::Package_declarationContext * ctx) { +PythonAPI::evalScript("enterPackage_declaration", this, (ParserRuleContext*) ctx); +} + + void exitPackage_declaration(SV3_1aParser::Package_declarationContext * ctx) { +PythonAPI::evalScript("exitPackage_declaration", this, (ParserRuleContext*) ctx); +} + + void enterTimeUnitsDecl_TimeUnitDiv(SV3_1aParser::TimeUnitsDecl_TimeUnitDivContext * ctx) { +PythonAPI::evalScript("enterTimeUnitsDecl_TimeUnitDiv", this, (ParserRuleContext*) ctx); +} + + void exitTimeUnitsDecl_TimeUnitDiv(SV3_1aParser::TimeUnitsDecl_TimeUnitDivContext * ctx) { +PythonAPI::evalScript("exitTimeUnitsDecl_TimeUnitDiv", this, (ParserRuleContext*) ctx); +} + + void enterTimeUnitsDecl_TimeUnit(SV3_1aParser::TimeUnitsDecl_TimeUnitContext * ctx) { +PythonAPI::evalScript("enterTimeUnitsDecl_TimeUnit", this, (ParserRuleContext*) ctx); +} + + void exitTimeUnitsDecl_TimeUnit(SV3_1aParser::TimeUnitsDecl_TimeUnitContext * ctx) { +PythonAPI::evalScript("exitTimeUnitsDecl_TimeUnit", this, (ParserRuleContext*) ctx); +} + + void enterTimeUnitsDecl_TimePrecision(SV3_1aParser::TimeUnitsDecl_TimePrecisionContext * ctx) { +PythonAPI::evalScript("enterTimeUnitsDecl_TimePrecision", this, (ParserRuleContext*) ctx); +} + + void exitTimeUnitsDecl_TimePrecision(SV3_1aParser::TimeUnitsDecl_TimePrecisionContext * ctx) { +PythonAPI::evalScript("exitTimeUnitsDecl_TimePrecision", this, (ParserRuleContext*) ctx); +} + + void enterTimeUnitsDecl_TimeUnitTimePrecision(SV3_1aParser::TimeUnitsDecl_TimeUnitTimePrecisionContext * ctx) { +PythonAPI::evalScript("enterTimeUnitsDecl_TimeUnitTimePrecision", this, (ParserRuleContext*) ctx); +} + + void exitTimeUnitsDecl_TimeUnitTimePrecision(SV3_1aParser::TimeUnitsDecl_TimeUnitTimePrecisionContext * ctx) { +PythonAPI::evalScript("exitTimeUnitsDecl_TimeUnitTimePrecision", this, (ParserRuleContext*) ctx); +} + + void enterTimeUnitsDecl_TimePrecisionTimeUnit(SV3_1aParser::TimeUnitsDecl_TimePrecisionTimeUnitContext * ctx) { +PythonAPI::evalScript("enterTimeUnitsDecl_TimePrecisionTimeUnit", this, (ParserRuleContext*) ctx); +} + + void exitTimeUnitsDecl_TimePrecisionTimeUnit(SV3_1aParser::TimeUnitsDecl_TimePrecisionTimeUnitContext * ctx) { +PythonAPI::evalScript("exitTimeUnitsDecl_TimePrecisionTimeUnit", this, (ParserRuleContext*) ctx); +} + + void enterParameter_port_list(SV3_1aParser::Parameter_port_listContext * ctx) { +PythonAPI::evalScript("enterParameter_port_list", this, (ParserRuleContext*) ctx); +} + + void exitParameter_port_list(SV3_1aParser::Parameter_port_listContext * ctx) { +PythonAPI::evalScript("exitParameter_port_list", this, (ParserRuleContext*) ctx); +} + + void enterParameter_port_declaration(SV3_1aParser::Parameter_port_declarationContext * ctx) { +PythonAPI::evalScript("enterParameter_port_declaration", this, (ParserRuleContext*) ctx); +} + + void exitParameter_port_declaration(SV3_1aParser::Parameter_port_declarationContext * ctx) { +PythonAPI::evalScript("exitParameter_port_declaration", this, (ParserRuleContext*) ctx); +} + + void enterList_of_ports(SV3_1aParser::List_of_portsContext * ctx) { +PythonAPI::evalScript("enterList_of_ports", this, (ParserRuleContext*) ctx); +} + + void exitList_of_ports(SV3_1aParser::List_of_portsContext * ctx) { +PythonAPI::evalScript("exitList_of_ports", this, (ParserRuleContext*) ctx); +} + + void enterList_of_port_declarations(SV3_1aParser::List_of_port_declarationsContext * ctx) { +PythonAPI::evalScript("enterList_of_port_declarations", this, (ParserRuleContext*) ctx); +} + + void exitList_of_port_declarations(SV3_1aParser::List_of_port_declarationsContext * ctx) { +PythonAPI::evalScript("exitList_of_port_declarations", this, (ParserRuleContext*) ctx); +} + + void enterPort_declaration(SV3_1aParser::Port_declarationContext * ctx) { +PythonAPI::evalScript("enterPort_declaration", this, (ParserRuleContext*) ctx); +} + + void exitPort_declaration(SV3_1aParser::Port_declarationContext * ctx) { +PythonAPI::evalScript("exitPort_declaration", this, (ParserRuleContext*) ctx); +} + + void enterPort(SV3_1aParser::PortContext * ctx) { +PythonAPI::evalScript("enterPort", this, (ParserRuleContext*) ctx); +} + + void exitPort(SV3_1aParser::PortContext * ctx) { +PythonAPI::evalScript("exitPort", this, (ParserRuleContext*) ctx); +} + + void enterPort_expression(SV3_1aParser::Port_expressionContext * ctx) { +PythonAPI::evalScript("enterPort_expression", this, (ParserRuleContext*) ctx); +} + + void exitPort_expression(SV3_1aParser::Port_expressionContext * ctx) { +PythonAPI::evalScript("exitPort_expression", this, (ParserRuleContext*) ctx); +} + + void enterPort_reference(SV3_1aParser::Port_referenceContext * ctx) { +PythonAPI::evalScript("enterPort_reference", this, (ParserRuleContext*) ctx); +} + + void exitPort_reference(SV3_1aParser::Port_referenceContext * ctx) { +PythonAPI::evalScript("exitPort_reference", this, (ParserRuleContext*) ctx); +} + + void enterPortDir_Inp(SV3_1aParser::PortDir_InpContext * ctx) { +PythonAPI::evalScript("enterPortDir_Inp", this, (ParserRuleContext*) ctx); +} + + void exitPortDir_Inp(SV3_1aParser::PortDir_InpContext * ctx) { +PythonAPI::evalScript("exitPortDir_Inp", this, (ParserRuleContext*) ctx); +} + + void enterPortDir_Out(SV3_1aParser::PortDir_OutContext * ctx) { +PythonAPI::evalScript("enterPortDir_Out", this, (ParserRuleContext*) ctx); +} + + void exitPortDir_Out(SV3_1aParser::PortDir_OutContext * ctx) { +PythonAPI::evalScript("exitPortDir_Out", this, (ParserRuleContext*) ctx); +} + + void enterPortDir_Inout(SV3_1aParser::PortDir_InoutContext * ctx) { +PythonAPI::evalScript("enterPortDir_Inout", this, (ParserRuleContext*) ctx); +} + + void exitPortDir_Inout(SV3_1aParser::PortDir_InoutContext * ctx) { +PythonAPI::evalScript("exitPortDir_Inout", this, (ParserRuleContext*) ctx); +} + + void enterPortDir_Ref(SV3_1aParser::PortDir_RefContext * ctx) { +PythonAPI::evalScript("enterPortDir_Ref", this, (ParserRuleContext*) ctx); +} + + void exitPortDir_Ref(SV3_1aParser::PortDir_RefContext * ctx) { +PythonAPI::evalScript("exitPortDir_Ref", this, (ParserRuleContext*) ctx); +} + + void enterNet_port_header(SV3_1aParser::Net_port_headerContext * ctx) { +PythonAPI::evalScript("enterNet_port_header", this, (ParserRuleContext*) ctx); +} + + void exitNet_port_header(SV3_1aParser::Net_port_headerContext * ctx) { +PythonAPI::evalScript("exitNet_port_header", this, (ParserRuleContext*) ctx); +} + + void enterVariable_port_header(SV3_1aParser::Variable_port_headerContext * ctx) { +PythonAPI::evalScript("enterVariable_port_header", this, (ParserRuleContext*) ctx); +} + + void exitVariable_port_header(SV3_1aParser::Variable_port_headerContext * ctx) { +PythonAPI::evalScript("exitVariable_port_header", this, (ParserRuleContext*) ctx); +} + + void enterInterface_port_header(SV3_1aParser::Interface_port_headerContext * ctx) { +PythonAPI::evalScript("enterInterface_port_header", this, (ParserRuleContext*) ctx); +} + + void exitInterface_port_header(SV3_1aParser::Interface_port_headerContext * ctx) { +PythonAPI::evalScript("exitInterface_port_header", this, (ParserRuleContext*) ctx); +} + + void enterAnsi_port_declaration(SV3_1aParser::Ansi_port_declarationContext * ctx) { +PythonAPI::evalScript("enterAnsi_port_declaration", this, (ParserRuleContext*) ctx); +} + + void exitAnsi_port_declaration(SV3_1aParser::Ansi_port_declarationContext * ctx) { +PythonAPI::evalScript("exitAnsi_port_declaration", this, (ParserRuleContext*) ctx); +} + + void enterElaboration_system_task(SV3_1aParser::Elaboration_system_taskContext * ctx) { +PythonAPI::evalScript("enterElaboration_system_task", this, (ParserRuleContext*) ctx); +} + + void exitElaboration_system_task(SV3_1aParser::Elaboration_system_taskContext * ctx) { +PythonAPI::evalScript("exitElaboration_system_task", this, (ParserRuleContext*) ctx); +} + + void enterModule_common_item(SV3_1aParser::Module_common_itemContext * ctx) { +PythonAPI::evalScript("enterModule_common_item", this, (ParserRuleContext*) ctx); +} + + void exitModule_common_item(SV3_1aParser::Module_common_itemContext * ctx) { +PythonAPI::evalScript("exitModule_common_item", this, (ParserRuleContext*) ctx); +} + + void enterModule_item(SV3_1aParser::Module_itemContext * ctx) { +PythonAPI::evalScript("enterModule_item", this, (ParserRuleContext*) ctx); +} + + void exitModule_item(SV3_1aParser::Module_itemContext * ctx) { +PythonAPI::evalScript("exitModule_item", this, (ParserRuleContext*) ctx); +} + + void enterModule_or_generate_item(SV3_1aParser::Module_or_generate_itemContext * ctx) { +PythonAPI::evalScript("enterModule_or_generate_item", this, (ParserRuleContext*) ctx); +} + + void exitModule_or_generate_item(SV3_1aParser::Module_or_generate_itemContext * ctx) { +PythonAPI::evalScript("exitModule_or_generate_item", this, (ParserRuleContext*) ctx); +} + + void enterModule_or_generate_item_declaration(SV3_1aParser::Module_or_generate_item_declarationContext * ctx) { +PythonAPI::evalScript("enterModule_or_generate_item_declaration", this, (ParserRuleContext*) ctx); +} + + void exitModule_or_generate_item_declaration(SV3_1aParser::Module_or_generate_item_declarationContext * ctx) { +PythonAPI::evalScript("exitModule_or_generate_item_declaration", this, (ParserRuleContext*) ctx); +} + + void enterNon_port_module_item(SV3_1aParser::Non_port_module_itemContext * ctx) { +PythonAPI::evalScript("enterNon_port_module_item", this, (ParserRuleContext*) ctx); +} + + void exitNon_port_module_item(SV3_1aParser::Non_port_module_itemContext * ctx) { +PythonAPI::evalScript("exitNon_port_module_item", this, (ParserRuleContext*) ctx); +} + + void enterParameter_override(SV3_1aParser::Parameter_overrideContext * ctx) { +PythonAPI::evalScript("enterParameter_override", this, (ParserRuleContext*) ctx); +} + + void exitParameter_override(SV3_1aParser::Parameter_overrideContext * ctx) { +PythonAPI::evalScript("exitParameter_override", this, (ParserRuleContext*) ctx); +} + + void enterBind_directive(SV3_1aParser::Bind_directiveContext * ctx) { +PythonAPI::evalScript("enterBind_directive", this, (ParserRuleContext*) ctx); +} + + void exitBind_directive(SV3_1aParser::Bind_directiveContext * ctx) { +PythonAPI::evalScript("exitBind_directive", this, (ParserRuleContext*) ctx); +} + + void enterBind_instantiation(SV3_1aParser::Bind_instantiationContext * ctx) { +PythonAPI::evalScript("enterBind_instantiation", this, (ParserRuleContext*) ctx); +} + + void exitBind_instantiation(SV3_1aParser::Bind_instantiationContext * ctx) { +PythonAPI::evalScript("exitBind_instantiation", this, (ParserRuleContext*) ctx); +} + + void enterInterface_or_generate_item(SV3_1aParser::Interface_or_generate_itemContext * ctx) { +PythonAPI::evalScript("enterInterface_or_generate_item", this, (ParserRuleContext*) ctx); +} + + void exitInterface_or_generate_item(SV3_1aParser::Interface_or_generate_itemContext * ctx) { +PythonAPI::evalScript("exitInterface_or_generate_item", this, (ParserRuleContext*) ctx); +} + + void enterExtern_tf_declaration(SV3_1aParser::Extern_tf_declarationContext * ctx) { +PythonAPI::evalScript("enterExtern_tf_declaration", this, (ParserRuleContext*) ctx); +} + + void exitExtern_tf_declaration(SV3_1aParser::Extern_tf_declarationContext * ctx) { +PythonAPI::evalScript("exitExtern_tf_declaration", this, (ParserRuleContext*) ctx); +} + + void enterInterface_item(SV3_1aParser::Interface_itemContext * ctx) { +PythonAPI::evalScript("enterInterface_item", this, (ParserRuleContext*) ctx); +} + + void exitInterface_item(SV3_1aParser::Interface_itemContext * ctx) { +PythonAPI::evalScript("exitInterface_item", this, (ParserRuleContext*) ctx); +} + + void enterNon_port_interface_item(SV3_1aParser::Non_port_interface_itemContext * ctx) { +PythonAPI::evalScript("enterNon_port_interface_item", this, (ParserRuleContext*) ctx); +} + + void exitNon_port_interface_item(SV3_1aParser::Non_port_interface_itemContext * ctx) { +PythonAPI::evalScript("exitNon_port_interface_item", this, (ParserRuleContext*) ctx); +} + + void enterProgram_item(SV3_1aParser::Program_itemContext * ctx) { +PythonAPI::evalScript("enterProgram_item", this, (ParserRuleContext*) ctx); +} + + void exitProgram_item(SV3_1aParser::Program_itemContext * ctx) { +PythonAPI::evalScript("exitProgram_item", this, (ParserRuleContext*) ctx); +} + + void enterNon_port_program_item(SV3_1aParser::Non_port_program_itemContext * ctx) { +PythonAPI::evalScript("enterNon_port_program_item", this, (ParserRuleContext*) ctx); +} + + void exitNon_port_program_item(SV3_1aParser::Non_port_program_itemContext * ctx) { +PythonAPI::evalScript("exitNon_port_program_item", this, (ParserRuleContext*) ctx); +} + + void enterProgram_generate_item(SV3_1aParser::Program_generate_itemContext * ctx) { +PythonAPI::evalScript("enterProgram_generate_item", this, (ParserRuleContext*) ctx); +} + + void exitProgram_generate_item(SV3_1aParser::Program_generate_itemContext * ctx) { +PythonAPI::evalScript("exitProgram_generate_item", this, (ParserRuleContext*) ctx); +} + + void enterChecker_port_list(SV3_1aParser::Checker_port_listContext * ctx) { +PythonAPI::evalScript("enterChecker_port_list", this, (ParserRuleContext*) ctx); +} + + void exitChecker_port_list(SV3_1aParser::Checker_port_listContext * ctx) { +PythonAPI::evalScript("exitChecker_port_list", this, (ParserRuleContext*) ctx); +} + + void enterChecker_port_item(SV3_1aParser::Checker_port_itemContext * ctx) { +PythonAPI::evalScript("enterChecker_port_item", this, (ParserRuleContext*) ctx); +} + + void exitChecker_port_item(SV3_1aParser::Checker_port_itemContext * ctx) { +PythonAPI::evalScript("exitChecker_port_item", this, (ParserRuleContext*) ctx); +} + + void enterChecker_or_generate_item(SV3_1aParser::Checker_or_generate_itemContext * ctx) { +PythonAPI::evalScript("enterChecker_or_generate_item", this, (ParserRuleContext*) ctx); +} + + void exitChecker_or_generate_item(SV3_1aParser::Checker_or_generate_itemContext * ctx) { +PythonAPI::evalScript("exitChecker_or_generate_item", this, (ParserRuleContext*) ctx); +} + + void enterChecker_or_generate_item_declaration(SV3_1aParser::Checker_or_generate_item_declarationContext * ctx) { +PythonAPI::evalScript("enterChecker_or_generate_item_declaration", this, (ParserRuleContext*) ctx); +} + + void exitChecker_or_generate_item_declaration(SV3_1aParser::Checker_or_generate_item_declarationContext * ctx) { +PythonAPI::evalScript("exitChecker_or_generate_item_declaration", this, (ParserRuleContext*) ctx); +} + + void enterChecker_generate_item(SV3_1aParser::Checker_generate_itemContext * ctx) { +PythonAPI::evalScript("enterChecker_generate_item", this, (ParserRuleContext*) ctx); +} + + void exitChecker_generate_item(SV3_1aParser::Checker_generate_itemContext * ctx) { +PythonAPI::evalScript("exitChecker_generate_item", this, (ParserRuleContext*) ctx); +} + + void enterClass_item(SV3_1aParser::Class_itemContext * ctx) { +PythonAPI::evalScript("enterClass_item", this, (ParserRuleContext*) ctx); +} + + void exitClass_item(SV3_1aParser::Class_itemContext * ctx) { +PythonAPI::evalScript("exitClass_item", this, (ParserRuleContext*) ctx); +} + + void enterClass_property(SV3_1aParser::Class_propertyContext * ctx) { +PythonAPI::evalScript("enterClass_property", this, (ParserRuleContext*) ctx); +} + + void exitClass_property(SV3_1aParser::Class_propertyContext * ctx) { +PythonAPI::evalScript("exitClass_property", this, (ParserRuleContext*) ctx); +} + + void enterPure_virtual_qualifier(SV3_1aParser::Pure_virtual_qualifierContext * ctx) { +PythonAPI::evalScript("enterPure_virtual_qualifier", this, (ParserRuleContext*) ctx); +} + + void exitPure_virtual_qualifier(SV3_1aParser::Pure_virtual_qualifierContext * ctx) { +PythonAPI::evalScript("exitPure_virtual_qualifier", this, (ParserRuleContext*) ctx); +} + + void enterExtern_qualifier(SV3_1aParser::Extern_qualifierContext * ctx) { +PythonAPI::evalScript("enterExtern_qualifier", this, (ParserRuleContext*) ctx); +} + + void exitExtern_qualifier(SV3_1aParser::Extern_qualifierContext * ctx) { +PythonAPI::evalScript("exitExtern_qualifier", this, (ParserRuleContext*) ctx); +} + + void enterClass_method(SV3_1aParser::Class_methodContext * ctx) { +PythonAPI::evalScript("enterClass_method", this, (ParserRuleContext*) ctx); +} + + void exitClass_method(SV3_1aParser::Class_methodContext * ctx) { +PythonAPI::evalScript("exitClass_method", this, (ParserRuleContext*) ctx); +} + + void enterClass_constructor_prototype(SV3_1aParser::Class_constructor_prototypeContext * ctx) { +PythonAPI::evalScript("enterClass_constructor_prototype", this, (ParserRuleContext*) ctx); +} + + void exitClass_constructor_prototype(SV3_1aParser::Class_constructor_prototypeContext * ctx) { +PythonAPI::evalScript("exitClass_constructor_prototype", this, (ParserRuleContext*) ctx); +} + + void enterClass_constraint(SV3_1aParser::Class_constraintContext * ctx) { +PythonAPI::evalScript("enterClass_constraint", this, (ParserRuleContext*) ctx); +} + + void exitClass_constraint(SV3_1aParser::Class_constraintContext * ctx) { +PythonAPI::evalScript("exitClass_constraint", this, (ParserRuleContext*) ctx); +} + + void enterClassItemQualifier_Static(SV3_1aParser::ClassItemQualifier_StaticContext * ctx) { +PythonAPI::evalScript("enterClassItemQualifier_Static", this, (ParserRuleContext*) ctx); +} + + void exitClassItemQualifier_Static(SV3_1aParser::ClassItemQualifier_StaticContext * ctx) { +PythonAPI::evalScript("exitClassItemQualifier_Static", this, (ParserRuleContext*) ctx); +} + + void enterClassItemQualifier_Protected(SV3_1aParser::ClassItemQualifier_ProtectedContext * ctx) { +PythonAPI::evalScript("enterClassItemQualifier_Protected", this, (ParserRuleContext*) ctx); +} + + void exitClassItemQualifier_Protected(SV3_1aParser::ClassItemQualifier_ProtectedContext * ctx) { +PythonAPI::evalScript("exitClassItemQualifier_Protected", this, (ParserRuleContext*) ctx); +} + + void enterClassItemQualifier_Local(SV3_1aParser::ClassItemQualifier_LocalContext * ctx) { +PythonAPI::evalScript("enterClassItemQualifier_Local", this, (ParserRuleContext*) ctx); +} + + void exitClassItemQualifier_Local(SV3_1aParser::ClassItemQualifier_LocalContext * ctx) { +PythonAPI::evalScript("exitClassItemQualifier_Local", this, (ParserRuleContext*) ctx); +} + + void enterPropQualifier_Rand(SV3_1aParser::PropQualifier_RandContext * ctx) { +PythonAPI::evalScript("enterPropQualifier_Rand", this, (ParserRuleContext*) ctx); +} + + void exitPropQualifier_Rand(SV3_1aParser::PropQualifier_RandContext * ctx) { +PythonAPI::evalScript("exitPropQualifier_Rand", this, (ParserRuleContext*) ctx); +} + + void enterPropQualifier_Randc(SV3_1aParser::PropQualifier_RandcContext * ctx) { +PythonAPI::evalScript("enterPropQualifier_Randc", this, (ParserRuleContext*) ctx); +} + + void exitPropQualifier_Randc(SV3_1aParser::PropQualifier_RandcContext * ctx) { +PythonAPI::evalScript("exitPropQualifier_Randc", this, (ParserRuleContext*) ctx); +} + + void enterPropQualifier_ClassItem(SV3_1aParser::PropQualifier_ClassItemContext * ctx) { +PythonAPI::evalScript("enterPropQualifier_ClassItem", this, (ParserRuleContext*) ctx); +} + + void exitPropQualifier_ClassItem(SV3_1aParser::PropQualifier_ClassItemContext * ctx) { +PythonAPI::evalScript("exitPropQualifier_ClassItem", this, (ParserRuleContext*) ctx); +} + + void enterMethodQualifier_Virtual(SV3_1aParser::MethodQualifier_VirtualContext * ctx) { +PythonAPI::evalScript("enterMethodQualifier_Virtual", this, (ParserRuleContext*) ctx); +} + + void exitMethodQualifier_Virtual(SV3_1aParser::MethodQualifier_VirtualContext * ctx) { +PythonAPI::evalScript("exitMethodQualifier_Virtual", this, (ParserRuleContext*) ctx); +} + + void enterMethodQualifier_ClassItem(SV3_1aParser::MethodQualifier_ClassItemContext * ctx) { +PythonAPI::evalScript("enterMethodQualifier_ClassItem", this, (ParserRuleContext*) ctx); +} + + void exitMethodQualifier_ClassItem(SV3_1aParser::MethodQualifier_ClassItemContext * ctx) { +PythonAPI::evalScript("exitMethodQualifier_ClassItem", this, (ParserRuleContext*) ctx); +} + + void enterMethod_prototype(SV3_1aParser::Method_prototypeContext * ctx) { +PythonAPI::evalScript("enterMethod_prototype", this, (ParserRuleContext*) ctx); +} + + void exitMethod_prototype(SV3_1aParser::Method_prototypeContext * ctx) { +PythonAPI::evalScript("exitMethod_prototype", this, (ParserRuleContext*) ctx); +} + + void enterSuper_dot_new(SV3_1aParser::Super_dot_newContext * ctx) { +PythonAPI::evalScript("enterSuper_dot_new", this, (ParserRuleContext*) ctx); +} + + void exitSuper_dot_new(SV3_1aParser::Super_dot_newContext * ctx) { +PythonAPI::evalScript("exitSuper_dot_new", this, (ParserRuleContext*) ctx); +} + + void enterClass_constructor_declaration(SV3_1aParser::Class_constructor_declarationContext * ctx) { +PythonAPI::evalScript("enterClass_constructor_declaration", this, (ParserRuleContext*) ctx); +} + + void exitClass_constructor_declaration(SV3_1aParser::Class_constructor_declarationContext * ctx) { +PythonAPI::evalScript("exitClass_constructor_declaration", this, (ParserRuleContext*) ctx); +} + + void enterConstraint_declaration(SV3_1aParser::Constraint_declarationContext * ctx) { +PythonAPI::evalScript("enterConstraint_declaration", this, (ParserRuleContext*) ctx); +} + + void exitConstraint_declaration(SV3_1aParser::Constraint_declarationContext * ctx) { +PythonAPI::evalScript("exitConstraint_declaration", this, (ParserRuleContext*) ctx); +} + + void enterConstraint_block(SV3_1aParser::Constraint_blockContext * ctx) { +PythonAPI::evalScript("enterConstraint_block", this, (ParserRuleContext*) ctx); +} + + void exitConstraint_block(SV3_1aParser::Constraint_blockContext * ctx) { +PythonAPI::evalScript("exitConstraint_block", this, (ParserRuleContext*) ctx); +} + + void enterConstraint_block_item(SV3_1aParser::Constraint_block_itemContext * ctx) { +PythonAPI::evalScript("enterConstraint_block_item", this, (ParserRuleContext*) ctx); +} + + void exitConstraint_block_item(SV3_1aParser::Constraint_block_itemContext * ctx) { +PythonAPI::evalScript("exitConstraint_block_item", this, (ParserRuleContext*) ctx); +} + + void enterSolve_before_list(SV3_1aParser::Solve_before_listContext * ctx) { +PythonAPI::evalScript("enterSolve_before_list", this, (ParserRuleContext*) ctx); +} + + void exitSolve_before_list(SV3_1aParser::Solve_before_listContext * ctx) { +PythonAPI::evalScript("exitSolve_before_list", this, (ParserRuleContext*) ctx); +} + + void enterConstraint_primary(SV3_1aParser::Constraint_primaryContext * ctx) { +PythonAPI::evalScript("enterConstraint_primary", this, (ParserRuleContext*) ctx); +} + + void exitConstraint_primary(SV3_1aParser::Constraint_primaryContext * ctx) { +PythonAPI::evalScript("exitConstraint_primary", this, (ParserRuleContext*) ctx); +} + + void enterConstraint_expression(SV3_1aParser::Constraint_expressionContext * ctx) { +PythonAPI::evalScript("enterConstraint_expression", this, (ParserRuleContext*) ctx); +} + + void exitConstraint_expression(SV3_1aParser::Constraint_expressionContext * ctx) { +PythonAPI::evalScript("exitConstraint_expression", this, (ParserRuleContext*) ctx); +} + + void enterUniqueness_constraint(SV3_1aParser::Uniqueness_constraintContext * ctx) { +PythonAPI::evalScript("enterUniqueness_constraint", this, (ParserRuleContext*) ctx); +} + + void exitUniqueness_constraint(SV3_1aParser::Uniqueness_constraintContext * ctx) { +PythonAPI::evalScript("exitUniqueness_constraint", this, (ParserRuleContext*) ctx); +} + + void enterConstraint_set(SV3_1aParser::Constraint_setContext * ctx) { +PythonAPI::evalScript("enterConstraint_set", this, (ParserRuleContext*) ctx); +} + + void exitConstraint_set(SV3_1aParser::Constraint_setContext * ctx) { +PythonAPI::evalScript("exitConstraint_set", this, (ParserRuleContext*) ctx); +} + + void enterDist_list(SV3_1aParser::Dist_listContext * ctx) { +PythonAPI::evalScript("enterDist_list", this, (ParserRuleContext*) ctx); +} + + void exitDist_list(SV3_1aParser::Dist_listContext * ctx) { +PythonAPI::evalScript("exitDist_list", this, (ParserRuleContext*) ctx); +} + + void enterDist_item(SV3_1aParser::Dist_itemContext * ctx) { +PythonAPI::evalScript("enterDist_item", this, (ParserRuleContext*) ctx); +} + + void exitDist_item(SV3_1aParser::Dist_itemContext * ctx) { +PythonAPI::evalScript("exitDist_item", this, (ParserRuleContext*) ctx); +} + + void enterDistWeight_AssignValue(SV3_1aParser::DistWeight_AssignValueContext * ctx) { +PythonAPI::evalScript("enterDistWeight_AssignValue", this, (ParserRuleContext*) ctx); +} + + void exitDistWeight_AssignValue(SV3_1aParser::DistWeight_AssignValueContext * ctx) { +PythonAPI::evalScript("exitDistWeight_AssignValue", this, (ParserRuleContext*) ctx); +} + + void enterDistWeight_AssignRange(SV3_1aParser::DistWeight_AssignRangeContext * ctx) { +PythonAPI::evalScript("enterDistWeight_AssignRange", this, (ParserRuleContext*) ctx); +} + + void exitDistWeight_AssignRange(SV3_1aParser::DistWeight_AssignRangeContext * ctx) { +PythonAPI::evalScript("exitDistWeight_AssignRange", this, (ParserRuleContext*) ctx); +} + + void enterConstraint_prototype(SV3_1aParser::Constraint_prototypeContext * ctx) { +PythonAPI::evalScript("enterConstraint_prototype", this, (ParserRuleContext*) ctx); +} + + void exitConstraint_prototype(SV3_1aParser::Constraint_prototypeContext * ctx) { +PythonAPI::evalScript("exitConstraint_prototype", this, (ParserRuleContext*) ctx); +} + + void enterExtern_constraint_declaration(SV3_1aParser::Extern_constraint_declarationContext * ctx) { +PythonAPI::evalScript("enterExtern_constraint_declaration", this, (ParserRuleContext*) ctx); +} + + void exitExtern_constraint_declaration(SV3_1aParser::Extern_constraint_declarationContext * ctx) { +PythonAPI::evalScript("exitExtern_constraint_declaration", this, (ParserRuleContext*) ctx); +} + + void enterIdentifier_list(SV3_1aParser::Identifier_listContext * ctx) { +PythonAPI::evalScript("enterIdentifier_list", this, (ParserRuleContext*) ctx); +} + + void exitIdentifier_list(SV3_1aParser::Identifier_listContext * ctx) { +PythonAPI::evalScript("exitIdentifier_list", this, (ParserRuleContext*) ctx); +} + + void enterPackage_item(SV3_1aParser::Package_itemContext * ctx) { +PythonAPI::evalScript("enterPackage_item", this, (ParserRuleContext*) ctx); +} + + void exitPackage_item(SV3_1aParser::Package_itemContext * ctx) { +PythonAPI::evalScript("exitPackage_item", this, (ParserRuleContext*) ctx); +} + + void enterPackage_or_generate_item_declaration(SV3_1aParser::Package_or_generate_item_declarationContext * ctx) { +PythonAPI::evalScript("enterPackage_or_generate_item_declaration", this, (ParserRuleContext*) ctx); +} + + void exitPackage_or_generate_item_declaration(SV3_1aParser::Package_or_generate_item_declarationContext * ctx) { +PythonAPI::evalScript("exitPackage_or_generate_item_declaration", this, (ParserRuleContext*) ctx); +} + + void enterAnonymous_program(SV3_1aParser::Anonymous_programContext * ctx) { +PythonAPI::evalScript("enterAnonymous_program", this, (ParserRuleContext*) ctx); +} + + void exitAnonymous_program(SV3_1aParser::Anonymous_programContext * ctx) { +PythonAPI::evalScript("exitAnonymous_program", this, (ParserRuleContext*) ctx); +} + + void enterAnonymous_program_item(SV3_1aParser::Anonymous_program_itemContext * ctx) { +PythonAPI::evalScript("enterAnonymous_program_item", this, (ParserRuleContext*) ctx); +} + + void exitAnonymous_program_item(SV3_1aParser::Anonymous_program_itemContext * ctx) { +PythonAPI::evalScript("exitAnonymous_program_item", this, (ParserRuleContext*) ctx); +} + + void enterLocal_parameter_declaration(SV3_1aParser::Local_parameter_declarationContext * ctx) { +PythonAPI::evalScript("enterLocal_parameter_declaration", this, (ParserRuleContext*) ctx); +} + + void exitLocal_parameter_declaration(SV3_1aParser::Local_parameter_declarationContext * ctx) { +PythonAPI::evalScript("exitLocal_parameter_declaration", this, (ParserRuleContext*) ctx); +} + + void enterParameter_declaration(SV3_1aParser::Parameter_declarationContext * ctx) { +PythonAPI::evalScript("enterParameter_declaration", this, (ParserRuleContext*) ctx); +} + + void exitParameter_declaration(SV3_1aParser::Parameter_declarationContext * ctx) { +PythonAPI::evalScript("exitParameter_declaration", this, (ParserRuleContext*) ctx); +} + + void enterSpecparam_declaration(SV3_1aParser::Specparam_declarationContext * ctx) { +PythonAPI::evalScript("enterSpecparam_declaration", this, (ParserRuleContext*) ctx); +} + + void exitSpecparam_declaration(SV3_1aParser::Specparam_declarationContext * ctx) { +PythonAPI::evalScript("exitSpecparam_declaration", this, (ParserRuleContext*) ctx); +} + + void enterInout_declaration(SV3_1aParser::Inout_declarationContext * ctx) { +PythonAPI::evalScript("enterInout_declaration", this, (ParserRuleContext*) ctx); +} + + void exitInout_declaration(SV3_1aParser::Inout_declarationContext * ctx) { +PythonAPI::evalScript("exitInout_declaration", this, (ParserRuleContext*) ctx); +} + + void enterInput_declaration(SV3_1aParser::Input_declarationContext * ctx) { +PythonAPI::evalScript("enterInput_declaration", this, (ParserRuleContext*) ctx); +} + + void exitInput_declaration(SV3_1aParser::Input_declarationContext * ctx) { +PythonAPI::evalScript("exitInput_declaration", this, (ParserRuleContext*) ctx); +} + + void enterOutput_declaration(SV3_1aParser::Output_declarationContext * ctx) { +PythonAPI::evalScript("enterOutput_declaration", this, (ParserRuleContext*) ctx); +} + + void exitOutput_declaration(SV3_1aParser::Output_declarationContext * ctx) { +PythonAPI::evalScript("exitOutput_declaration", this, (ParserRuleContext*) ctx); +} + + void enterInterface_port_declaration(SV3_1aParser::Interface_port_declarationContext * ctx) { +PythonAPI::evalScript("enterInterface_port_declaration", this, (ParserRuleContext*) ctx); +} + + void exitInterface_port_declaration(SV3_1aParser::Interface_port_declarationContext * ctx) { +PythonAPI::evalScript("exitInterface_port_declaration", this, (ParserRuleContext*) ctx); +} + + void enterRef_declaration(SV3_1aParser::Ref_declarationContext * ctx) { +PythonAPI::evalScript("enterRef_declaration", this, (ParserRuleContext*) ctx); +} + + void exitRef_declaration(SV3_1aParser::Ref_declarationContext * ctx) { +PythonAPI::evalScript("exitRef_declaration", this, (ParserRuleContext*) ctx); +} + + void enterData_declaration(SV3_1aParser::Data_declarationContext * ctx) { +PythonAPI::evalScript("enterData_declaration", this, (ParserRuleContext*) ctx); +} + + void exitData_declaration(SV3_1aParser::Data_declarationContext * ctx) { +PythonAPI::evalScript("exitData_declaration", this, (ParserRuleContext*) ctx); +} + + void enterVariable_declaration(SV3_1aParser::Variable_declarationContext * ctx) { +PythonAPI::evalScript("enterVariable_declaration", this, (ParserRuleContext*) ctx); +} + + void exitVariable_declaration(SV3_1aParser::Variable_declarationContext * ctx) { +PythonAPI::evalScript("exitVariable_declaration", this, (ParserRuleContext*) ctx); +} + + void enterPackage_import_declaration(SV3_1aParser::Package_import_declarationContext * ctx) { +PythonAPI::evalScript("enterPackage_import_declaration", this, (ParserRuleContext*) ctx); +} + + void exitPackage_import_declaration(SV3_1aParser::Package_import_declarationContext * ctx) { +PythonAPI::evalScript("exitPackage_import_declaration", this, (ParserRuleContext*) ctx); +} + + void enterPackage_import_item(SV3_1aParser::Package_import_itemContext * ctx) { +PythonAPI::evalScript("enterPackage_import_item", this, (ParserRuleContext*) ctx); +} + + void exitPackage_import_item(SV3_1aParser::Package_import_itemContext * ctx) { +PythonAPI::evalScript("exitPackage_import_item", this, (ParserRuleContext*) ctx); +} + + void enterPackage_export_declaration(SV3_1aParser::Package_export_declarationContext * ctx) { +PythonAPI::evalScript("enterPackage_export_declaration", this, (ParserRuleContext*) ctx); +} + + void exitPackage_export_declaration(SV3_1aParser::Package_export_declarationContext * ctx) { +PythonAPI::evalScript("exitPackage_export_declaration", this, (ParserRuleContext*) ctx); +} + + void enterGenvar_declaration(SV3_1aParser::Genvar_declarationContext * ctx) { +PythonAPI::evalScript("enterGenvar_declaration", this, (ParserRuleContext*) ctx); +} + + void exitGenvar_declaration(SV3_1aParser::Genvar_declarationContext * ctx) { +PythonAPI::evalScript("exitGenvar_declaration", this, (ParserRuleContext*) ctx); +} + + void enterNet_declaration(SV3_1aParser::Net_declarationContext * ctx) { +PythonAPI::evalScript("enterNet_declaration", this, (ParserRuleContext*) ctx); +} + + void exitNet_declaration(SV3_1aParser::Net_declarationContext * ctx) { +PythonAPI::evalScript("exitNet_declaration", this, (ParserRuleContext*) ctx); +} + + void enterType_declaration(SV3_1aParser::Type_declarationContext * ctx) { +PythonAPI::evalScript("enterType_declaration", this, (ParserRuleContext*) ctx); +} + + void exitType_declaration(SV3_1aParser::Type_declarationContext * ctx) { +PythonAPI::evalScript("exitType_declaration", this, (ParserRuleContext*) ctx); +} + + void enterEnum_keyword(SV3_1aParser::Enum_keywordContext * ctx) { +PythonAPI::evalScript("enterEnum_keyword", this, (ParserRuleContext*) ctx); +} + + void exitEnum_keyword(SV3_1aParser::Enum_keywordContext * ctx) { +PythonAPI::evalScript("exitEnum_keyword", this, (ParserRuleContext*) ctx); +} + + void enterStruct_keyword(SV3_1aParser::Struct_keywordContext * ctx) { +PythonAPI::evalScript("enterStruct_keyword", this, (ParserRuleContext*) ctx); +} + + void exitStruct_keyword(SV3_1aParser::Struct_keywordContext * ctx) { +PythonAPI::evalScript("exitStruct_keyword", this, (ParserRuleContext*) ctx); +} + + void enterUnion_keyword(SV3_1aParser::Union_keywordContext * ctx) { +PythonAPI::evalScript("enterUnion_keyword", this, (ParserRuleContext*) ctx); +} + + void exitUnion_keyword(SV3_1aParser::Union_keywordContext * ctx) { +PythonAPI::evalScript("exitUnion_keyword", this, (ParserRuleContext*) ctx); +} + + void enterClass_keyword(SV3_1aParser::Class_keywordContext * ctx) { +PythonAPI::evalScript("enterClass_keyword", this, (ParserRuleContext*) ctx); +} + + void exitClass_keyword(SV3_1aParser::Class_keywordContext * ctx) { +PythonAPI::evalScript("exitClass_keyword", this, (ParserRuleContext*) ctx); +} + + void enterInterface_class_keyword(SV3_1aParser::Interface_class_keywordContext * ctx) { +PythonAPI::evalScript("enterInterface_class_keyword", this, (ParserRuleContext*) ctx); +} + + void exitInterface_class_keyword(SV3_1aParser::Interface_class_keywordContext * ctx) { +PythonAPI::evalScript("exitInterface_class_keyword", this, (ParserRuleContext*) ctx); +} + + void enterNet_type_declaration(SV3_1aParser::Net_type_declarationContext * ctx) { +PythonAPI::evalScript("enterNet_type_declaration", this, (ParserRuleContext*) ctx); +} + + void exitNet_type_declaration(SV3_1aParser::Net_type_declarationContext * ctx) { +PythonAPI::evalScript("exitNet_type_declaration", this, (ParserRuleContext*) ctx); +} + + void enterLifetime_Static(SV3_1aParser::Lifetime_StaticContext * ctx) { +PythonAPI::evalScript("enterLifetime_Static", this, (ParserRuleContext*) ctx); +} + + void exitLifetime_Static(SV3_1aParser::Lifetime_StaticContext * ctx) { +PythonAPI::evalScript("exitLifetime_Static", this, (ParserRuleContext*) ctx); +} + + void enterLifetime_Automatic(SV3_1aParser::Lifetime_AutomaticContext * ctx) { +PythonAPI::evalScript("enterLifetime_Automatic", this, (ParserRuleContext*) ctx); +} + + void exitLifetime_Automatic(SV3_1aParser::Lifetime_AutomaticContext * ctx) { +PythonAPI::evalScript("exitLifetime_Automatic", this, (ParserRuleContext*) ctx); +} + + void enterCasting_type(SV3_1aParser::Casting_typeContext * ctx) { +PythonAPI::evalScript("enterCasting_type", this, (ParserRuleContext*) ctx); +} + + void exitCasting_type(SV3_1aParser::Casting_typeContext * ctx) { +PythonAPI::evalScript("exitCasting_type", this, (ParserRuleContext*) ctx); +} + + void enterData_type(SV3_1aParser::Data_typeContext * ctx) { +PythonAPI::evalScript("enterData_type", this, (ParserRuleContext*) ctx); +} + + void exitData_type(SV3_1aParser::Data_typeContext * ctx) { +PythonAPI::evalScript("exitData_type", this, (ParserRuleContext*) ctx); +} + + void enterPacked_keyword(SV3_1aParser::Packed_keywordContext * ctx) { +PythonAPI::evalScript("enterPacked_keyword", this, (ParserRuleContext*) ctx); +} + + void exitPacked_keyword(SV3_1aParser::Packed_keywordContext * ctx) { +PythonAPI::evalScript("exitPacked_keyword", this, (ParserRuleContext*) ctx); +} + + void enterString_type(SV3_1aParser::String_typeContext * ctx) { +PythonAPI::evalScript("enterString_type", this, (ParserRuleContext*) ctx); +} + + void exitString_type(SV3_1aParser::String_typeContext * ctx) { +PythonAPI::evalScript("exitString_type", this, (ParserRuleContext*) ctx); +} + + void enterString_value(SV3_1aParser::String_valueContext * ctx) { +PythonAPI::evalScript("enterString_value", this, (ParserRuleContext*) ctx); +} + + void exitString_value(SV3_1aParser::String_valueContext * ctx) { +PythonAPI::evalScript("exitString_value", this, (ParserRuleContext*) ctx); +} + + void enterChandle_type(SV3_1aParser::Chandle_typeContext * ctx) { +PythonAPI::evalScript("enterChandle_type", this, (ParserRuleContext*) ctx); +} + + void exitChandle_type(SV3_1aParser::Chandle_typeContext * ctx) { +PythonAPI::evalScript("exitChandle_type", this, (ParserRuleContext*) ctx); +} + + void enterEvent_type(SV3_1aParser::Event_typeContext * ctx) { +PythonAPI::evalScript("enterEvent_type", this, (ParserRuleContext*) ctx); +} + + void exitEvent_type(SV3_1aParser::Event_typeContext * ctx) { +PythonAPI::evalScript("exitEvent_type", this, (ParserRuleContext*) ctx); +} + + void enterConst_type(SV3_1aParser::Const_typeContext * ctx) { +PythonAPI::evalScript("enterConst_type", this, (ParserRuleContext*) ctx); +} + + void exitConst_type(SV3_1aParser::Const_typeContext * ctx) { +PythonAPI::evalScript("exitConst_type", this, (ParserRuleContext*) ctx); +} + + void enterData_type_or_implicit(SV3_1aParser::Data_type_or_implicitContext * ctx) { +PythonAPI::evalScript("enterData_type_or_implicit", this, (ParserRuleContext*) ctx); +} + + void exitData_type_or_implicit(SV3_1aParser::Data_type_or_implicitContext * ctx) { +PythonAPI::evalScript("exitData_type_or_implicit", this, (ParserRuleContext*) ctx); +} + + void enterImplicit_data_type(SV3_1aParser::Implicit_data_typeContext * ctx) { +PythonAPI::evalScript("enterImplicit_data_type", this, (ParserRuleContext*) ctx); +} + + void exitImplicit_data_type(SV3_1aParser::Implicit_data_typeContext * ctx) { +PythonAPI::evalScript("exitImplicit_data_type", this, (ParserRuleContext*) ctx); +} + + void enterEnum_base_type(SV3_1aParser::Enum_base_typeContext * ctx) { +PythonAPI::evalScript("enterEnum_base_type", this, (ParserRuleContext*) ctx); +} + + void exitEnum_base_type(SV3_1aParser::Enum_base_typeContext * ctx) { +PythonAPI::evalScript("exitEnum_base_type", this, (ParserRuleContext*) ctx); +} + + void enterEnum_name_declaration(SV3_1aParser::Enum_name_declarationContext * ctx) { +PythonAPI::evalScript("enterEnum_name_declaration", this, (ParserRuleContext*) ctx); +} + + void exitEnum_name_declaration(SV3_1aParser::Enum_name_declarationContext * ctx) { +PythonAPI::evalScript("exitEnum_name_declaration", this, (ParserRuleContext*) ctx); +} + + void enterClass_scope(SV3_1aParser::Class_scopeContext * ctx) { +PythonAPI::evalScript("enterClass_scope", this, (ParserRuleContext*) ctx); +} + + void exitClass_scope(SV3_1aParser::Class_scopeContext * ctx) { +PythonAPI::evalScript("exitClass_scope", this, (ParserRuleContext*) ctx); +} + + void enterClass_type(SV3_1aParser::Class_typeContext * ctx) { +PythonAPI::evalScript("enterClass_type", this, (ParserRuleContext*) ctx); +} + + void exitClass_type(SV3_1aParser::Class_typeContext * ctx) { +PythonAPI::evalScript("exitClass_type", this, (ParserRuleContext*) ctx); +} + + void enterInteger_type(SV3_1aParser::Integer_typeContext * ctx) { +PythonAPI::evalScript("enterInteger_type", this, (ParserRuleContext*) ctx); +} + + void exitInteger_type(SV3_1aParser::Integer_typeContext * ctx) { +PythonAPI::evalScript("exitInteger_type", this, (ParserRuleContext*) ctx); +} + + void enterIntegerAtomType_Byte(SV3_1aParser::IntegerAtomType_ByteContext * ctx) { +PythonAPI::evalScript("enterIntegerAtomType_Byte", this, (ParserRuleContext*) ctx); +} + + void exitIntegerAtomType_Byte(SV3_1aParser::IntegerAtomType_ByteContext * ctx) { +PythonAPI::evalScript("exitIntegerAtomType_Byte", this, (ParserRuleContext*) ctx); +} + + void enterIntegerAtomType_Shortint(SV3_1aParser::IntegerAtomType_ShortintContext * ctx) { +PythonAPI::evalScript("enterIntegerAtomType_Shortint", this, (ParserRuleContext*) ctx); +} + + void exitIntegerAtomType_Shortint(SV3_1aParser::IntegerAtomType_ShortintContext * ctx) { +PythonAPI::evalScript("exitIntegerAtomType_Shortint", this, (ParserRuleContext*) ctx); +} + + void enterIntegerAtomType_Int(SV3_1aParser::IntegerAtomType_IntContext * ctx) { +PythonAPI::evalScript("enterIntegerAtomType_Int", this, (ParserRuleContext*) ctx); +} + + void exitIntegerAtomType_Int(SV3_1aParser::IntegerAtomType_IntContext * ctx) { +PythonAPI::evalScript("exitIntegerAtomType_Int", this, (ParserRuleContext*) ctx); +} + + void enterIntegerAtomType_LongInt(SV3_1aParser::IntegerAtomType_LongIntContext * ctx) { +PythonAPI::evalScript("enterIntegerAtomType_LongInt", this, (ParserRuleContext*) ctx); +} + + void exitIntegerAtomType_LongInt(SV3_1aParser::IntegerAtomType_LongIntContext * ctx) { +PythonAPI::evalScript("exitIntegerAtomType_LongInt", this, (ParserRuleContext*) ctx); +} + + void enterIntegerAtomType_Time(SV3_1aParser::IntegerAtomType_TimeContext * ctx) { +PythonAPI::evalScript("enterIntegerAtomType_Time", this, (ParserRuleContext*) ctx); +} + + void exitIntegerAtomType_Time(SV3_1aParser::IntegerAtomType_TimeContext * ctx) { +PythonAPI::evalScript("exitIntegerAtomType_Time", this, (ParserRuleContext*) ctx); +} + + void enterIntVec_TypeBit(SV3_1aParser::IntVec_TypeBitContext * ctx) { +PythonAPI::evalScript("enterIntVec_TypeBit", this, (ParserRuleContext*) ctx); +} + + void exitIntVec_TypeBit(SV3_1aParser::IntVec_TypeBitContext * ctx) { +PythonAPI::evalScript("exitIntVec_TypeBit", this, (ParserRuleContext*) ctx); +} + + void enterIntVec_TypeLogic(SV3_1aParser::IntVec_TypeLogicContext * ctx) { +PythonAPI::evalScript("enterIntVec_TypeLogic", this, (ParserRuleContext*) ctx); +} + + void exitIntVec_TypeLogic(SV3_1aParser::IntVec_TypeLogicContext * ctx) { +PythonAPI::evalScript("exitIntVec_TypeLogic", this, (ParserRuleContext*) ctx); +} + + void enterIntVec_TypeReg(SV3_1aParser::IntVec_TypeRegContext * ctx) { +PythonAPI::evalScript("enterIntVec_TypeReg", this, (ParserRuleContext*) ctx); +} + + void exitIntVec_TypeReg(SV3_1aParser::IntVec_TypeRegContext * ctx) { +PythonAPI::evalScript("exitIntVec_TypeReg", this, (ParserRuleContext*) ctx); +} + + void enterNonIntType_ShortReal(SV3_1aParser::NonIntType_ShortRealContext * ctx) { +PythonAPI::evalScript("enterNonIntType_ShortReal", this, (ParserRuleContext*) ctx); +} + + void exitNonIntType_ShortReal(SV3_1aParser::NonIntType_ShortRealContext * ctx) { +PythonAPI::evalScript("exitNonIntType_ShortReal", this, (ParserRuleContext*) ctx); +} + + void enterNonIntType_Real(SV3_1aParser::NonIntType_RealContext * ctx) { +PythonAPI::evalScript("enterNonIntType_Real", this, (ParserRuleContext*) ctx); +} + + void exitNonIntType_Real(SV3_1aParser::NonIntType_RealContext * ctx) { +PythonAPI::evalScript("exitNonIntType_Real", this, (ParserRuleContext*) ctx); +} + + void enterNonIntType_RealTime(SV3_1aParser::NonIntType_RealTimeContext * ctx) { +PythonAPI::evalScript("enterNonIntType_RealTime", this, (ParserRuleContext*) ctx); +} + + void exitNonIntType_RealTime(SV3_1aParser::NonIntType_RealTimeContext * ctx) { +PythonAPI::evalScript("exitNonIntType_RealTime", this, (ParserRuleContext*) ctx); +} + + void enterNetType_Supply0(SV3_1aParser::NetType_Supply0Context * ctx) { +PythonAPI::evalScript("enterNetType_Supply0", this, (ParserRuleContext*) ctx); +} + + void exitNetType_Supply0(SV3_1aParser::NetType_Supply0Context * ctx) { +PythonAPI::evalScript("exitNetType_Supply0", this, (ParserRuleContext*) ctx); +} + + void enterNetType_Supply1(SV3_1aParser::NetType_Supply1Context * ctx) { +PythonAPI::evalScript("enterNetType_Supply1", this, (ParserRuleContext*) ctx); +} + + void exitNetType_Supply1(SV3_1aParser::NetType_Supply1Context * ctx) { +PythonAPI::evalScript("exitNetType_Supply1", this, (ParserRuleContext*) ctx); +} + + void enterNetType_Tri(SV3_1aParser::NetType_TriContext * ctx) { +PythonAPI::evalScript("enterNetType_Tri", this, (ParserRuleContext*) ctx); +} + + void exitNetType_Tri(SV3_1aParser::NetType_TriContext * ctx) { +PythonAPI::evalScript("exitNetType_Tri", this, (ParserRuleContext*) ctx); +} + + void enterNetType_TriAnd(SV3_1aParser::NetType_TriAndContext * ctx) { +PythonAPI::evalScript("enterNetType_TriAnd", this, (ParserRuleContext*) ctx); +} + + void exitNetType_TriAnd(SV3_1aParser::NetType_TriAndContext * ctx) { +PythonAPI::evalScript("exitNetType_TriAnd", this, (ParserRuleContext*) ctx); +} + + void enterNetType_TriOr(SV3_1aParser::NetType_TriOrContext * ctx) { +PythonAPI::evalScript("enterNetType_TriOr", this, (ParserRuleContext*) ctx); +} + + void exitNetType_TriOr(SV3_1aParser::NetType_TriOrContext * ctx) { +PythonAPI::evalScript("exitNetType_TriOr", this, (ParserRuleContext*) ctx); +} + + void enterNetType_TriReg(SV3_1aParser::NetType_TriRegContext * ctx) { +PythonAPI::evalScript("enterNetType_TriReg", this, (ParserRuleContext*) ctx); +} + + void exitNetType_TriReg(SV3_1aParser::NetType_TriRegContext * ctx) { +PythonAPI::evalScript("exitNetType_TriReg", this, (ParserRuleContext*) ctx); +} + + void enterNetType_Tri0(SV3_1aParser::NetType_Tri0Context * ctx) { +PythonAPI::evalScript("enterNetType_Tri0", this, (ParserRuleContext*) ctx); +} + + void exitNetType_Tri0(SV3_1aParser::NetType_Tri0Context * ctx) { +PythonAPI::evalScript("exitNetType_Tri0", this, (ParserRuleContext*) ctx); +} + + void enterNetType_Tri1(SV3_1aParser::NetType_Tri1Context * ctx) { +PythonAPI::evalScript("enterNetType_Tri1", this, (ParserRuleContext*) ctx); +} + + void exitNetType_Tri1(SV3_1aParser::NetType_Tri1Context * ctx) { +PythonAPI::evalScript("exitNetType_Tri1", this, (ParserRuleContext*) ctx); +} + + void enterNetType_Uwire(SV3_1aParser::NetType_UwireContext * ctx) { +PythonAPI::evalScript("enterNetType_Uwire", this, (ParserRuleContext*) ctx); +} + + void exitNetType_Uwire(SV3_1aParser::NetType_UwireContext * ctx) { +PythonAPI::evalScript("exitNetType_Uwire", this, (ParserRuleContext*) ctx); +} + + void enterNetType_Wire(SV3_1aParser::NetType_WireContext * ctx) { +PythonAPI::evalScript("enterNetType_Wire", this, (ParserRuleContext*) ctx); +} + + void exitNetType_Wire(SV3_1aParser::NetType_WireContext * ctx) { +PythonAPI::evalScript("exitNetType_Wire", this, (ParserRuleContext*) ctx); +} + + void enterNetType_Wand(SV3_1aParser::NetType_WandContext * ctx) { +PythonAPI::evalScript("enterNetType_Wand", this, (ParserRuleContext*) ctx); +} + + void exitNetType_Wand(SV3_1aParser::NetType_WandContext * ctx) { +PythonAPI::evalScript("exitNetType_Wand", this, (ParserRuleContext*) ctx); +} + + void enterNetType_Wor(SV3_1aParser::NetType_WorContext * ctx) { +PythonAPI::evalScript("enterNetType_Wor", this, (ParserRuleContext*) ctx); +} + + void exitNetType_Wor(SV3_1aParser::NetType_WorContext * ctx) { +PythonAPI::evalScript("exitNetType_Wor", this, (ParserRuleContext*) ctx); +} + + void enterNet_port_type(SV3_1aParser::Net_port_typeContext * ctx) { +PythonAPI::evalScript("enterNet_port_type", this, (ParserRuleContext*) ctx); +} + + void exitNet_port_type(SV3_1aParser::Net_port_typeContext * ctx) { +PythonAPI::evalScript("exitNet_port_type", this, (ParserRuleContext*) ctx); +} + + void enterVariable_port_type(SV3_1aParser::Variable_port_typeContext * ctx) { +PythonAPI::evalScript("enterVariable_port_type", this, (ParserRuleContext*) ctx); +} + + void exitVariable_port_type(SV3_1aParser::Variable_port_typeContext * ctx) { +PythonAPI::evalScript("exitVariable_port_type", this, (ParserRuleContext*) ctx); +} + + void enterVar_data_type(SV3_1aParser::Var_data_typeContext * ctx) { +PythonAPI::evalScript("enterVar_data_type", this, (ParserRuleContext*) ctx); +} + + void exitVar_data_type(SV3_1aParser::Var_data_typeContext * ctx) { +PythonAPI::evalScript("exitVar_data_type", this, (ParserRuleContext*) ctx); +} + + void enterSigning_Signed(SV3_1aParser::Signing_SignedContext * ctx) { +PythonAPI::evalScript("enterSigning_Signed", this, (ParserRuleContext*) ctx); +} + + void exitSigning_Signed(SV3_1aParser::Signing_SignedContext * ctx) { +PythonAPI::evalScript("exitSigning_Signed", this, (ParserRuleContext*) ctx); +} + + void enterSigning_Unsigned(SV3_1aParser::Signing_UnsignedContext * ctx) { +PythonAPI::evalScript("enterSigning_Unsigned", this, (ParserRuleContext*) ctx); +} + + void exitSigning_Unsigned(SV3_1aParser::Signing_UnsignedContext * ctx) { +PythonAPI::evalScript("exitSigning_Unsigned", this, (ParserRuleContext*) ctx); +} + + void enterSimple_type(SV3_1aParser::Simple_typeContext * ctx) { +PythonAPI::evalScript("enterSimple_type", this, (ParserRuleContext*) ctx); +} + + void exitSimple_type(SV3_1aParser::Simple_typeContext * ctx) { +PythonAPI::evalScript("exitSimple_type", this, (ParserRuleContext*) ctx); +} + + void enterRandomQualifier_Rand(SV3_1aParser::RandomQualifier_RandContext * ctx) { +PythonAPI::evalScript("enterRandomQualifier_Rand", this, (ParserRuleContext*) ctx); +} + + void exitRandomQualifier_Rand(SV3_1aParser::RandomQualifier_RandContext * ctx) { +PythonAPI::evalScript("exitRandomQualifier_Rand", this, (ParserRuleContext*) ctx); +} + + void enterRandomQualifier_RandC(SV3_1aParser::RandomQualifier_RandCContext * ctx) { +PythonAPI::evalScript("enterRandomQualifier_RandC", this, (ParserRuleContext*) ctx); +} + + void exitRandomQualifier_RandC(SV3_1aParser::RandomQualifier_RandCContext * ctx) { +PythonAPI::evalScript("exitRandomQualifier_RandC", this, (ParserRuleContext*) ctx); +} + + void enterStruct_union_member(SV3_1aParser::Struct_union_memberContext * ctx) { +PythonAPI::evalScript("enterStruct_union_member", this, (ParserRuleContext*) ctx); +} + + void exitStruct_union_member(SV3_1aParser::Struct_union_memberContext * ctx) { +PythonAPI::evalScript("exitStruct_union_member", this, (ParserRuleContext*) ctx); +} + + void enterData_type_or_void(SV3_1aParser::Data_type_or_voidContext * ctx) { +PythonAPI::evalScript("enterData_type_or_void", this, (ParserRuleContext*) ctx); +} + + void exitData_type_or_void(SV3_1aParser::Data_type_or_voidContext * ctx) { +PythonAPI::evalScript("exitData_type_or_void", this, (ParserRuleContext*) ctx); +} + + void enterStruct_union(SV3_1aParser::Struct_unionContext * ctx) { +PythonAPI::evalScript("enterStruct_union", this, (ParserRuleContext*) ctx); +} + + void exitStruct_union(SV3_1aParser::Struct_unionContext * ctx) { +PythonAPI::evalScript("exitStruct_union", this, (ParserRuleContext*) ctx); +} + + void enterTagged_keyword(SV3_1aParser::Tagged_keywordContext * ctx) { +PythonAPI::evalScript("enterTagged_keyword", this, (ParserRuleContext*) ctx); +} + + void exitTagged_keyword(SV3_1aParser::Tagged_keywordContext * ctx) { +PythonAPI::evalScript("exitTagged_keyword", this, (ParserRuleContext*) ctx); +} + + void enterType_reference(SV3_1aParser::Type_referenceContext * ctx) { +PythonAPI::evalScript("enterType_reference", this, (ParserRuleContext*) ctx); +} + + void exitType_reference(SV3_1aParser::Type_referenceContext * ctx) { +PythonAPI::evalScript("exitType_reference", this, (ParserRuleContext*) ctx); +} + + void enterDrive_strength(SV3_1aParser::Drive_strengthContext * ctx) { +PythonAPI::evalScript("enterDrive_strength", this, (ParserRuleContext*) ctx); +} + + void exitDrive_strength(SV3_1aParser::Drive_strengthContext * ctx) { +PythonAPI::evalScript("exitDrive_strength", this, (ParserRuleContext*) ctx); +} + + void enterStrength0_Supply0(SV3_1aParser::Strength0_Supply0Context * ctx) { +PythonAPI::evalScript("enterStrength0_Supply0", this, (ParserRuleContext*) ctx); +} + + void exitStrength0_Supply0(SV3_1aParser::Strength0_Supply0Context * ctx) { +PythonAPI::evalScript("exitStrength0_Supply0", this, (ParserRuleContext*) ctx); +} + + void enterStrength0_Strong0(SV3_1aParser::Strength0_Strong0Context * ctx) { +PythonAPI::evalScript("enterStrength0_Strong0", this, (ParserRuleContext*) ctx); +} + + void exitStrength0_Strong0(SV3_1aParser::Strength0_Strong0Context * ctx) { +PythonAPI::evalScript("exitStrength0_Strong0", this, (ParserRuleContext*) ctx); +} + + void enterStrength0_Pull0(SV3_1aParser::Strength0_Pull0Context * ctx) { +PythonAPI::evalScript("enterStrength0_Pull0", this, (ParserRuleContext*) ctx); +} + + void exitStrength0_Pull0(SV3_1aParser::Strength0_Pull0Context * ctx) { +PythonAPI::evalScript("exitStrength0_Pull0", this, (ParserRuleContext*) ctx); +} + + void enterStrength0_Weak0(SV3_1aParser::Strength0_Weak0Context * ctx) { +PythonAPI::evalScript("enterStrength0_Weak0", this, (ParserRuleContext*) ctx); +} + + void exitStrength0_Weak0(SV3_1aParser::Strength0_Weak0Context * ctx) { +PythonAPI::evalScript("exitStrength0_Weak0", this, (ParserRuleContext*) ctx); +} + + void enterStrength1_Supply1(SV3_1aParser::Strength1_Supply1Context * ctx) { +PythonAPI::evalScript("enterStrength1_Supply1", this, (ParserRuleContext*) ctx); +} + + void exitStrength1_Supply1(SV3_1aParser::Strength1_Supply1Context * ctx) { +PythonAPI::evalScript("exitStrength1_Supply1", this, (ParserRuleContext*) ctx); +} + + void enterStrength1_Strong1(SV3_1aParser::Strength1_Strong1Context * ctx) { +PythonAPI::evalScript("enterStrength1_Strong1", this, (ParserRuleContext*) ctx); +} + + void exitStrength1_Strong1(SV3_1aParser::Strength1_Strong1Context * ctx) { +PythonAPI::evalScript("exitStrength1_Strong1", this, (ParserRuleContext*) ctx); +} + + void enterStrength1_Pull1(SV3_1aParser::Strength1_Pull1Context * ctx) { +PythonAPI::evalScript("enterStrength1_Pull1", this, (ParserRuleContext*) ctx); +} + + void exitStrength1_Pull1(SV3_1aParser::Strength1_Pull1Context * ctx) { +PythonAPI::evalScript("exitStrength1_Pull1", this, (ParserRuleContext*) ctx); +} + + void enterStrength1_Weak1(SV3_1aParser::Strength1_Weak1Context * ctx) { +PythonAPI::evalScript("enterStrength1_Weak1", this, (ParserRuleContext*) ctx); +} + + void exitStrength1_Weak1(SV3_1aParser::Strength1_Weak1Context * ctx) { +PythonAPI::evalScript("exitStrength1_Weak1", this, (ParserRuleContext*) ctx); +} + + void enterChargeStrength_Small(SV3_1aParser::ChargeStrength_SmallContext * ctx) { +PythonAPI::evalScript("enterChargeStrength_Small", this, (ParserRuleContext*) ctx); +} + + void exitChargeStrength_Small(SV3_1aParser::ChargeStrength_SmallContext * ctx) { +PythonAPI::evalScript("exitChargeStrength_Small", this, (ParserRuleContext*) ctx); +} + + void enterChargeStrength_Medium(SV3_1aParser::ChargeStrength_MediumContext * ctx) { +PythonAPI::evalScript("enterChargeStrength_Medium", this, (ParserRuleContext*) ctx); +} + + void exitChargeStrength_Medium(SV3_1aParser::ChargeStrength_MediumContext * ctx) { +PythonAPI::evalScript("exitChargeStrength_Medium", this, (ParserRuleContext*) ctx); +} + + void enterChargeStrength_Large(SV3_1aParser::ChargeStrength_LargeContext * ctx) { +PythonAPI::evalScript("enterChargeStrength_Large", this, (ParserRuleContext*) ctx); +} + + void exitChargeStrength_Large(SV3_1aParser::ChargeStrength_LargeContext * ctx) { +PythonAPI::evalScript("exitChargeStrength_Large", this, (ParserRuleContext*) ctx); +} + + void enterDelay3(SV3_1aParser::Delay3Context * ctx) { +PythonAPI::evalScript("enterDelay3", this, (ParserRuleContext*) ctx); +} + + void exitDelay3(SV3_1aParser::Delay3Context * ctx) { +PythonAPI::evalScript("exitDelay3", this, (ParserRuleContext*) ctx); +} + + void enterDelay2(SV3_1aParser::Delay2Context * ctx) { +PythonAPI::evalScript("enterDelay2", this, (ParserRuleContext*) ctx); +} + + void exitDelay2(SV3_1aParser::Delay2Context * ctx) { +PythonAPI::evalScript("exitDelay2", this, (ParserRuleContext*) ctx); +} + + void enterPound_delay_value(SV3_1aParser::Pound_delay_valueContext * ctx) { +PythonAPI::evalScript("enterPound_delay_value", this, (ParserRuleContext*) ctx); +} + + void exitPound_delay_value(SV3_1aParser::Pound_delay_valueContext * ctx) { +PythonAPI::evalScript("exitPound_delay_value", this, (ParserRuleContext*) ctx); +} + + void enterDelay_value(SV3_1aParser::Delay_valueContext * ctx) { +PythonAPI::evalScript("enterDelay_value", this, (ParserRuleContext*) ctx); +} + + void exitDelay_value(SV3_1aParser::Delay_valueContext * ctx) { +PythonAPI::evalScript("exitDelay_value", this, (ParserRuleContext*) ctx); +} + + void enterList_of_defparam_assignments(SV3_1aParser::List_of_defparam_assignmentsContext * ctx) { +PythonAPI::evalScript("enterList_of_defparam_assignments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_defparam_assignments(SV3_1aParser::List_of_defparam_assignmentsContext * ctx) { +PythonAPI::evalScript("exitList_of_defparam_assignments", this, (ParserRuleContext*) ctx); +} + + void enterList_of_interface_identifiers(SV3_1aParser::List_of_interface_identifiersContext * ctx) { +PythonAPI::evalScript("enterList_of_interface_identifiers", this, (ParserRuleContext*) ctx); +} + + void exitList_of_interface_identifiers(SV3_1aParser::List_of_interface_identifiersContext * ctx) { +PythonAPI::evalScript("exitList_of_interface_identifiers", this, (ParserRuleContext*) ctx); +} + + void enterList_of_net_decl_assignments(SV3_1aParser::List_of_net_decl_assignmentsContext * ctx) { +PythonAPI::evalScript("enterList_of_net_decl_assignments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_net_decl_assignments(SV3_1aParser::List_of_net_decl_assignmentsContext * ctx) { +PythonAPI::evalScript("exitList_of_net_decl_assignments", this, (ParserRuleContext*) ctx); +} + + void enterList_of_param_assignments(SV3_1aParser::List_of_param_assignmentsContext * ctx) { +PythonAPI::evalScript("enterList_of_param_assignments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_param_assignments(SV3_1aParser::List_of_param_assignmentsContext * ctx) { +PythonAPI::evalScript("exitList_of_param_assignments", this, (ParserRuleContext*) ctx); +} + + void enterList_of_port_identifiers(SV3_1aParser::List_of_port_identifiersContext * ctx) { +PythonAPI::evalScript("enterList_of_port_identifiers", this, (ParserRuleContext*) ctx); +} + + void exitList_of_port_identifiers(SV3_1aParser::List_of_port_identifiersContext * ctx) { +PythonAPI::evalScript("exitList_of_port_identifiers", this, (ParserRuleContext*) ctx); +} + + void enterList_of_specparam_assignments(SV3_1aParser::List_of_specparam_assignmentsContext * ctx) { +PythonAPI::evalScript("enterList_of_specparam_assignments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_specparam_assignments(SV3_1aParser::List_of_specparam_assignmentsContext * ctx) { +PythonAPI::evalScript("exitList_of_specparam_assignments", this, (ParserRuleContext*) ctx); +} + + void enterList_of_tf_variable_identifiers(SV3_1aParser::List_of_tf_variable_identifiersContext * ctx) { +PythonAPI::evalScript("enterList_of_tf_variable_identifiers", this, (ParserRuleContext*) ctx); +} + + void exitList_of_tf_variable_identifiers(SV3_1aParser::List_of_tf_variable_identifiersContext * ctx) { +PythonAPI::evalScript("exitList_of_tf_variable_identifiers", this, (ParserRuleContext*) ctx); +} + + void enterList_of_type_assignments(SV3_1aParser::List_of_type_assignmentsContext * ctx) { +PythonAPI::evalScript("enterList_of_type_assignments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_type_assignments(SV3_1aParser::List_of_type_assignmentsContext * ctx) { +PythonAPI::evalScript("exitList_of_type_assignments", this, (ParserRuleContext*) ctx); +} + + void enterList_of_variable_decl_assignments(SV3_1aParser::List_of_variable_decl_assignmentsContext * ctx) { +PythonAPI::evalScript("enterList_of_variable_decl_assignments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_variable_decl_assignments(SV3_1aParser::List_of_variable_decl_assignmentsContext * ctx) { +PythonAPI::evalScript("exitList_of_variable_decl_assignments", this, (ParserRuleContext*) ctx); +} + + void enterList_of_variable_identifiers(SV3_1aParser::List_of_variable_identifiersContext * ctx) { +PythonAPI::evalScript("enterList_of_variable_identifiers", this, (ParserRuleContext*) ctx); +} + + void exitList_of_variable_identifiers(SV3_1aParser::List_of_variable_identifiersContext * ctx) { +PythonAPI::evalScript("exitList_of_variable_identifiers", this, (ParserRuleContext*) ctx); +} + + void enterList_of_variable_port_identifiers(SV3_1aParser::List_of_variable_port_identifiersContext * ctx) { +PythonAPI::evalScript("enterList_of_variable_port_identifiers", this, (ParserRuleContext*) ctx); +} + + void exitList_of_variable_port_identifiers(SV3_1aParser::List_of_variable_port_identifiersContext * ctx) { +PythonAPI::evalScript("exitList_of_variable_port_identifiers", this, (ParserRuleContext*) ctx); +} + + void enterList_of_virtual_interface_decl(SV3_1aParser::List_of_virtual_interface_declContext * ctx) { +PythonAPI::evalScript("enterList_of_virtual_interface_decl", this, (ParserRuleContext*) ctx); +} + + void exitList_of_virtual_interface_decl(SV3_1aParser::List_of_virtual_interface_declContext * ctx) { +PythonAPI::evalScript("exitList_of_virtual_interface_decl", this, (ParserRuleContext*) ctx); +} + + void enterDefparam_assignment(SV3_1aParser::Defparam_assignmentContext * ctx) { +PythonAPI::evalScript("enterDefparam_assignment", this, (ParserRuleContext*) ctx); +} + + void exitDefparam_assignment(SV3_1aParser::Defparam_assignmentContext * ctx) { +PythonAPI::evalScript("exitDefparam_assignment", this, (ParserRuleContext*) ctx); +} + + void enterNet_decl_assignment(SV3_1aParser::Net_decl_assignmentContext * ctx) { +PythonAPI::evalScript("enterNet_decl_assignment", this, (ParserRuleContext*) ctx); +} + + void exitNet_decl_assignment(SV3_1aParser::Net_decl_assignmentContext * ctx) { +PythonAPI::evalScript("exitNet_decl_assignment", this, (ParserRuleContext*) ctx); +} + + void enterParam_assignment(SV3_1aParser::Param_assignmentContext * ctx) { +PythonAPI::evalScript("enterParam_assignment", this, (ParserRuleContext*) ctx); +} + + void exitParam_assignment(SV3_1aParser::Param_assignmentContext * ctx) { +PythonAPI::evalScript("exitParam_assignment", this, (ParserRuleContext*) ctx); +} + + void enterSpecparam_assignment(SV3_1aParser::Specparam_assignmentContext * ctx) { +PythonAPI::evalScript("enterSpecparam_assignment", this, (ParserRuleContext*) ctx); +} + + void exitSpecparam_assignment(SV3_1aParser::Specparam_assignmentContext * ctx) { +PythonAPI::evalScript("exitSpecparam_assignment", this, (ParserRuleContext*) ctx); +} + + void enterPulse_control_specparam(SV3_1aParser::Pulse_control_specparamContext * ctx) { +PythonAPI::evalScript("enterPulse_control_specparam", this, (ParserRuleContext*) ctx); +} + + void exitPulse_control_specparam(SV3_1aParser::Pulse_control_specparamContext * ctx) { +PythonAPI::evalScript("exitPulse_control_specparam", this, (ParserRuleContext*) ctx); +} + + void enterVariable_decl_assignment(SV3_1aParser::Variable_decl_assignmentContext * ctx) { +PythonAPI::evalScript("enterVariable_decl_assignment", this, (ParserRuleContext*) ctx); +} + + void exitVariable_decl_assignment(SV3_1aParser::Variable_decl_assignmentContext * ctx) { +PythonAPI::evalScript("exitVariable_decl_assignment", this, (ParserRuleContext*) ctx); +} + + void enterClass_new(SV3_1aParser::Class_newContext * ctx) { +PythonAPI::evalScript("enterClass_new", this, (ParserRuleContext*) ctx); +} + + void exitClass_new(SV3_1aParser::Class_newContext * ctx) { +PythonAPI::evalScript("exitClass_new", this, (ParserRuleContext*) ctx); +} + + void enterDynamic_array_new(SV3_1aParser::Dynamic_array_newContext * ctx) { +PythonAPI::evalScript("enterDynamic_array_new", this, (ParserRuleContext*) ctx); +} + + void exitDynamic_array_new(SV3_1aParser::Dynamic_array_newContext * ctx) { +PythonAPI::evalScript("exitDynamic_array_new", this, (ParserRuleContext*) ctx); +} + + void enterUnpacked_dimension(SV3_1aParser::Unpacked_dimensionContext * ctx) { +PythonAPI::evalScript("enterUnpacked_dimension", this, (ParserRuleContext*) ctx); +} + + void exitUnpacked_dimension(SV3_1aParser::Unpacked_dimensionContext * ctx) { +PythonAPI::evalScript("exitUnpacked_dimension", this, (ParserRuleContext*) ctx); +} + + void enterPacked_dimension(SV3_1aParser::Packed_dimensionContext * ctx) { +PythonAPI::evalScript("enterPacked_dimension", this, (ParserRuleContext*) ctx); +} + + void exitPacked_dimension(SV3_1aParser::Packed_dimensionContext * ctx) { +PythonAPI::evalScript("exitPacked_dimension", this, (ParserRuleContext*) ctx); +} + + void enterAssociative_dimension(SV3_1aParser::Associative_dimensionContext * ctx) { +PythonAPI::evalScript("enterAssociative_dimension", this, (ParserRuleContext*) ctx); +} + + void exitAssociative_dimension(SV3_1aParser::Associative_dimensionContext * ctx) { +PythonAPI::evalScript("exitAssociative_dimension", this, (ParserRuleContext*) ctx); +} + + void enterVariable_dimension(SV3_1aParser::Variable_dimensionContext * ctx) { +PythonAPI::evalScript("enterVariable_dimension", this, (ParserRuleContext*) ctx); +} + + void exitVariable_dimension(SV3_1aParser::Variable_dimensionContext * ctx) { +PythonAPI::evalScript("exitVariable_dimension", this, (ParserRuleContext*) ctx); +} + + void enterQueue_dimension(SV3_1aParser::Queue_dimensionContext * ctx) { +PythonAPI::evalScript("enterQueue_dimension", this, (ParserRuleContext*) ctx); +} + + void exitQueue_dimension(SV3_1aParser::Queue_dimensionContext * ctx) { +PythonAPI::evalScript("exitQueue_dimension", this, (ParserRuleContext*) ctx); +} + + void enterUnsized_dimension(SV3_1aParser::Unsized_dimensionContext * ctx) { +PythonAPI::evalScript("enterUnsized_dimension", this, (ParserRuleContext*) ctx); +} + + void exitUnsized_dimension(SV3_1aParser::Unsized_dimensionContext * ctx) { +PythonAPI::evalScript("exitUnsized_dimension", this, (ParserRuleContext*) ctx); +} + + void enterFunction_data_type(SV3_1aParser::Function_data_typeContext * ctx) { +PythonAPI::evalScript("enterFunction_data_type", this, (ParserRuleContext*) ctx); +} + + void exitFunction_data_type(SV3_1aParser::Function_data_typeContext * ctx) { +PythonAPI::evalScript("exitFunction_data_type", this, (ParserRuleContext*) ctx); +} + + void enterFunction_data_type_or_implicit(SV3_1aParser::Function_data_type_or_implicitContext * ctx) { +PythonAPI::evalScript("enterFunction_data_type_or_implicit", this, (ParserRuleContext*) ctx); +} + + void exitFunction_data_type_or_implicit(SV3_1aParser::Function_data_type_or_implicitContext * ctx) { +PythonAPI::evalScript("exitFunction_data_type_or_implicit", this, (ParserRuleContext*) ctx); +} + + void enterFunction_declaration(SV3_1aParser::Function_declarationContext * ctx) { +PythonAPI::evalScript("enterFunction_declaration", this, (ParserRuleContext*) ctx); +} + + void exitFunction_declaration(SV3_1aParser::Function_declarationContext * ctx) { +PythonAPI::evalScript("exitFunction_declaration", this, (ParserRuleContext*) ctx); +} + + void enterEndfunction(SV3_1aParser::EndfunctionContext * ctx) { +PythonAPI::evalScript("enterEndfunction", this, (ParserRuleContext*) ctx); +} + + void exitEndfunction(SV3_1aParser::EndfunctionContext * ctx) { +PythonAPI::evalScript("exitEndfunction", this, (ParserRuleContext*) ctx); +} + + void enterFunction_body_declaration(SV3_1aParser::Function_body_declarationContext * ctx) { +PythonAPI::evalScript("enterFunction_body_declaration", this, (ParserRuleContext*) ctx); +} + + void exitFunction_body_declaration(SV3_1aParser::Function_body_declarationContext * ctx) { +PythonAPI::evalScript("exitFunction_body_declaration", this, (ParserRuleContext*) ctx); +} + + void enterFunction_prototype(SV3_1aParser::Function_prototypeContext * ctx) { +PythonAPI::evalScript("enterFunction_prototype", this, (ParserRuleContext*) ctx); +} + + void exitFunction_prototype(SV3_1aParser::Function_prototypeContext * ctx) { +PythonAPI::evalScript("exitFunction_prototype", this, (ParserRuleContext*) ctx); +} + + void enterDpi_import_export(SV3_1aParser::Dpi_import_exportContext * ctx) { +PythonAPI::evalScript("enterDpi_import_export", this, (ParserRuleContext*) ctx); +} + + void exitDpi_import_export(SV3_1aParser::Dpi_import_exportContext * ctx) { +PythonAPI::evalScript("exitDpi_import_export", this, (ParserRuleContext*) ctx); +} + + void enterContext_keyword(SV3_1aParser::Context_keywordContext * ctx) { +PythonAPI::evalScript("enterContext_keyword", this, (ParserRuleContext*) ctx); +} + + void exitContext_keyword(SV3_1aParser::Context_keywordContext * ctx) { +PythonAPI::evalScript("exitContext_keyword", this, (ParserRuleContext*) ctx); +} + + void enterFunction_name_decl(SV3_1aParser::Function_name_declContext * ctx) { +PythonAPI::evalScript("enterFunction_name_decl", this, (ParserRuleContext*) ctx); +} + + void exitFunction_name_decl(SV3_1aParser::Function_name_declContext * ctx) { +PythonAPI::evalScript("exitFunction_name_decl", this, (ParserRuleContext*) ctx); +} + + void enterTask_name_decl(SV3_1aParser::Task_name_declContext * ctx) { +PythonAPI::evalScript("enterTask_name_decl", this, (ParserRuleContext*) ctx); +} + + void exitTask_name_decl(SV3_1aParser::Task_name_declContext * ctx) { +PythonAPI::evalScript("exitTask_name_decl", this, (ParserRuleContext*) ctx); +} + + void enterPure_keyword(SV3_1aParser::Pure_keywordContext * ctx) { +PythonAPI::evalScript("enterPure_keyword", this, (ParserRuleContext*) ctx); +} + + void exitPure_keyword(SV3_1aParser::Pure_keywordContext * ctx) { +PythonAPI::evalScript("exitPure_keyword", this, (ParserRuleContext*) ctx); +} + + void enterTask_declaration(SV3_1aParser::Task_declarationContext * ctx) { +PythonAPI::evalScript("enterTask_declaration", this, (ParserRuleContext*) ctx); +} + + void exitTask_declaration(SV3_1aParser::Task_declarationContext * ctx) { +PythonAPI::evalScript("exitTask_declaration", this, (ParserRuleContext*) ctx); +} + + void enterEndtask(SV3_1aParser::EndtaskContext * ctx) { +PythonAPI::evalScript("enterEndtask", this, (ParserRuleContext*) ctx); +} + + void exitEndtask(SV3_1aParser::EndtaskContext * ctx) { +PythonAPI::evalScript("exitEndtask", this, (ParserRuleContext*) ctx); +} + + void enterTask_body_declaration(SV3_1aParser::Task_body_declarationContext * ctx) { +PythonAPI::evalScript("enterTask_body_declaration", this, (ParserRuleContext*) ctx); +} + + void exitTask_body_declaration(SV3_1aParser::Task_body_declarationContext * ctx) { +PythonAPI::evalScript("exitTask_body_declaration", this, (ParserRuleContext*) ctx); +} + + void enterTf_item_declaration(SV3_1aParser::Tf_item_declarationContext * ctx) { +PythonAPI::evalScript("enterTf_item_declaration", this, (ParserRuleContext*) ctx); +} + + void exitTf_item_declaration(SV3_1aParser::Tf_item_declarationContext * ctx) { +PythonAPI::evalScript("exitTf_item_declaration", this, (ParserRuleContext*) ctx); +} + + void enterTf_port_list(SV3_1aParser::Tf_port_listContext * ctx) { +PythonAPI::evalScript("enterTf_port_list", this, (ParserRuleContext*) ctx); +} + + void exitTf_port_list(SV3_1aParser::Tf_port_listContext * ctx) { +PythonAPI::evalScript("exitTf_port_list", this, (ParserRuleContext*) ctx); +} + + void enterTf_port_item(SV3_1aParser::Tf_port_itemContext * ctx) { +PythonAPI::evalScript("enterTf_port_item", this, (ParserRuleContext*) ctx); +} + + void exitTf_port_item(SV3_1aParser::Tf_port_itemContext * ctx) { +PythonAPI::evalScript("exitTf_port_item", this, (ParserRuleContext*) ctx); +} + + void enterTfPortDir_Inp(SV3_1aParser::TfPortDir_InpContext * ctx) { +PythonAPI::evalScript("enterTfPortDir_Inp", this, (ParserRuleContext*) ctx); +} + + void exitTfPortDir_Inp(SV3_1aParser::TfPortDir_InpContext * ctx) { +PythonAPI::evalScript("exitTfPortDir_Inp", this, (ParserRuleContext*) ctx); +} + + void enterTfPortDir_Out(SV3_1aParser::TfPortDir_OutContext * ctx) { +PythonAPI::evalScript("enterTfPortDir_Out", this, (ParserRuleContext*) ctx); +} + + void exitTfPortDir_Out(SV3_1aParser::TfPortDir_OutContext * ctx) { +PythonAPI::evalScript("exitTfPortDir_Out", this, (ParserRuleContext*) ctx); +} + + void enterTfPortDir_Inout(SV3_1aParser::TfPortDir_InoutContext * ctx) { +PythonAPI::evalScript("enterTfPortDir_Inout", this, (ParserRuleContext*) ctx); +} + + void exitTfPortDir_Inout(SV3_1aParser::TfPortDir_InoutContext * ctx) { +PythonAPI::evalScript("exitTfPortDir_Inout", this, (ParserRuleContext*) ctx); +} + + void enterTfPortDir_Ref(SV3_1aParser::TfPortDir_RefContext * ctx) { +PythonAPI::evalScript("enterTfPortDir_Ref", this, (ParserRuleContext*) ctx); +} + + void exitTfPortDir_Ref(SV3_1aParser::TfPortDir_RefContext * ctx) { +PythonAPI::evalScript("exitTfPortDir_Ref", this, (ParserRuleContext*) ctx); +} + + void enterTfPortDir_ConstRef(SV3_1aParser::TfPortDir_ConstRefContext * ctx) { +PythonAPI::evalScript("enterTfPortDir_ConstRef", this, (ParserRuleContext*) ctx); +} + + void exitTfPortDir_ConstRef(SV3_1aParser::TfPortDir_ConstRefContext * ctx) { +PythonAPI::evalScript("exitTfPortDir_ConstRef", this, (ParserRuleContext*) ctx); +} + + void enterTf_port_declaration(SV3_1aParser::Tf_port_declarationContext * ctx) { +PythonAPI::evalScript("enterTf_port_declaration", this, (ParserRuleContext*) ctx); +} + + void exitTf_port_declaration(SV3_1aParser::Tf_port_declarationContext * ctx) { +PythonAPI::evalScript("exitTf_port_declaration", this, (ParserRuleContext*) ctx); +} + + void enterTask_prototype(SV3_1aParser::Task_prototypeContext * ctx) { +PythonAPI::evalScript("enterTask_prototype", this, (ParserRuleContext*) ctx); +} + + void exitTask_prototype(SV3_1aParser::Task_prototypeContext * ctx) { +PythonAPI::evalScript("exitTask_prototype", this, (ParserRuleContext*) ctx); +} + + void enterBlock_item_declaration(SV3_1aParser::Block_item_declarationContext * ctx) { +PythonAPI::evalScript("enterBlock_item_declaration", this, (ParserRuleContext*) ctx); +} + + void exitBlock_item_declaration(SV3_1aParser::Block_item_declarationContext * ctx) { +PythonAPI::evalScript("exitBlock_item_declaration", this, (ParserRuleContext*) ctx); +} + + void enterOverload_declaration(SV3_1aParser::Overload_declarationContext * ctx) { +PythonAPI::evalScript("enterOverload_declaration", this, (ParserRuleContext*) ctx); +} + + void exitOverload_declaration(SV3_1aParser::Overload_declarationContext * ctx) { +PythonAPI::evalScript("exitOverload_declaration", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_Plus(SV3_1aParser::OverloadOp_PlusContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_Plus", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_Plus(SV3_1aParser::OverloadOp_PlusContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_Plus", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_PlusPlus(SV3_1aParser::OverloadOp_PlusPlusContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_PlusPlus", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_PlusPlus(SV3_1aParser::OverloadOp_PlusPlusContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_PlusPlus", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_Minus(SV3_1aParser::OverloadOp_MinusContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_Minus", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_Minus(SV3_1aParser::OverloadOp_MinusContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_Minus", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_MinusMinus(SV3_1aParser::OverloadOp_MinusMinusContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_MinusMinus", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_MinusMinus(SV3_1aParser::OverloadOp_MinusMinusContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_MinusMinus", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_Mult(SV3_1aParser::OverloadOp_MultContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_Mult", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_Mult(SV3_1aParser::OverloadOp_MultContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_Mult", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_StarStar(SV3_1aParser::OverloadOp_StarStarContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_StarStar", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_StarStar(SV3_1aParser::OverloadOp_StarStarContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_StarStar", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_Div(SV3_1aParser::OverloadOp_DivContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_Div", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_Div(SV3_1aParser::OverloadOp_DivContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_Div", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_Percent(SV3_1aParser::OverloadOp_PercentContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_Percent", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_Percent(SV3_1aParser::OverloadOp_PercentContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_Percent", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_Equiv(SV3_1aParser::OverloadOp_EquivContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_Equiv", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_Equiv(SV3_1aParser::OverloadOp_EquivContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_Equiv", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_NotEqual(SV3_1aParser::OverloadOp_NotEqualContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_NotEqual", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_NotEqual(SV3_1aParser::OverloadOp_NotEqualContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_NotEqual", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_Less(SV3_1aParser::OverloadOp_LessContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_Less", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_Less(SV3_1aParser::OverloadOp_LessContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_Less", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_LessEqual(SV3_1aParser::OverloadOp_LessEqualContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_LessEqual", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_LessEqual(SV3_1aParser::OverloadOp_LessEqualContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_LessEqual", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_Greater(SV3_1aParser::OverloadOp_GreaterContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_Greater", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_Greater(SV3_1aParser::OverloadOp_GreaterContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_Greater", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_GreaterEqual(SV3_1aParser::OverloadOp_GreaterEqualContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_GreaterEqual", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_GreaterEqual(SV3_1aParser::OverloadOp_GreaterEqualContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_GreaterEqual", this, (ParserRuleContext*) ctx); +} + + void enterOverloadOp_Equal(SV3_1aParser::OverloadOp_EqualContext * ctx) { +PythonAPI::evalScript("enterOverloadOp_Equal", this, (ParserRuleContext*) ctx); +} + + void exitOverloadOp_Equal(SV3_1aParser::OverloadOp_EqualContext * ctx) { +PythonAPI::evalScript("exitOverloadOp_Equal", this, (ParserRuleContext*) ctx); +} + + void enterOverload_proto_formals(SV3_1aParser::Overload_proto_formalsContext * ctx) { +PythonAPI::evalScript("enterOverload_proto_formals", this, (ParserRuleContext*) ctx); +} + + void exitOverload_proto_formals(SV3_1aParser::Overload_proto_formalsContext * ctx) { +PythonAPI::evalScript("exitOverload_proto_formals", this, (ParserRuleContext*) ctx); +} + + void enterVirtual_interface_declaration(SV3_1aParser::Virtual_interface_declarationContext * ctx) { +PythonAPI::evalScript("enterVirtual_interface_declaration", this, (ParserRuleContext*) ctx); +} + + void exitVirtual_interface_declaration(SV3_1aParser::Virtual_interface_declarationContext * ctx) { +PythonAPI::evalScript("exitVirtual_interface_declaration", this, (ParserRuleContext*) ctx); +} + + void enterModport_item(SV3_1aParser::Modport_itemContext * ctx) { +PythonAPI::evalScript("enterModport_item", this, (ParserRuleContext*) ctx); +} + + void exitModport_item(SV3_1aParser::Modport_itemContext * ctx) { +PythonAPI::evalScript("exitModport_item", this, (ParserRuleContext*) ctx); +} + + void enterModport_ports_declaration(SV3_1aParser::Modport_ports_declarationContext * ctx) { +PythonAPI::evalScript("enterModport_ports_declaration", this, (ParserRuleContext*) ctx); +} + + void exitModport_ports_declaration(SV3_1aParser::Modport_ports_declarationContext * ctx) { +PythonAPI::evalScript("exitModport_ports_declaration", this, (ParserRuleContext*) ctx); +} + + void enterModport_simple_ports_declaration(SV3_1aParser::Modport_simple_ports_declarationContext * ctx) { +PythonAPI::evalScript("enterModport_simple_ports_declaration", this, (ParserRuleContext*) ctx); +} + + void exitModport_simple_ports_declaration(SV3_1aParser::Modport_simple_ports_declarationContext * ctx) { +PythonAPI::evalScript("exitModport_simple_ports_declaration", this, (ParserRuleContext*) ctx); +} + + void enterModport_simple_port(SV3_1aParser::Modport_simple_portContext * ctx) { +PythonAPI::evalScript("enterModport_simple_port", this, (ParserRuleContext*) ctx); +} + + void exitModport_simple_port(SV3_1aParser::Modport_simple_portContext * ctx) { +PythonAPI::evalScript("exitModport_simple_port", this, (ParserRuleContext*) ctx); +} + + void enterModport_hierarchical_ports_declaration(SV3_1aParser::Modport_hierarchical_ports_declarationContext * ctx) { +PythonAPI::evalScript("enterModport_hierarchical_ports_declaration", this, (ParserRuleContext*) ctx); +} + + void exitModport_hierarchical_ports_declaration(SV3_1aParser::Modport_hierarchical_ports_declarationContext * ctx) { +PythonAPI::evalScript("exitModport_hierarchical_ports_declaration", this, (ParserRuleContext*) ctx); +} + + void enterModport_tf_ports_declaration(SV3_1aParser::Modport_tf_ports_declarationContext * ctx) { +PythonAPI::evalScript("enterModport_tf_ports_declaration", this, (ParserRuleContext*) ctx); +} + + void exitModport_tf_ports_declaration(SV3_1aParser::Modport_tf_ports_declarationContext * ctx) { +PythonAPI::evalScript("exitModport_tf_ports_declaration", this, (ParserRuleContext*) ctx); +} + + void enterModport_tf_port(SV3_1aParser::Modport_tf_portContext * ctx) { +PythonAPI::evalScript("enterModport_tf_port", this, (ParserRuleContext*) ctx); +} + + void exitModport_tf_port(SV3_1aParser::Modport_tf_portContext * ctx) { +PythonAPI::evalScript("exitModport_tf_port", this, (ParserRuleContext*) ctx); +} + + void enterConcurrent_assertion_item(SV3_1aParser::Concurrent_assertion_itemContext * ctx) { +PythonAPI::evalScript("enterConcurrent_assertion_item", this, (ParserRuleContext*) ctx); +} + + void exitConcurrent_assertion_item(SV3_1aParser::Concurrent_assertion_itemContext * ctx) { +PythonAPI::evalScript("exitConcurrent_assertion_item", this, (ParserRuleContext*) ctx); +} + + void enterConcurrent_assertion_statement(SV3_1aParser::Concurrent_assertion_statementContext * ctx) { +PythonAPI::evalScript("enterConcurrent_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void exitConcurrent_assertion_statement(SV3_1aParser::Concurrent_assertion_statementContext * ctx) { +PythonAPI::evalScript("exitConcurrent_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void enterAssert_property_statement(SV3_1aParser::Assert_property_statementContext * ctx) { +PythonAPI::evalScript("enterAssert_property_statement", this, (ParserRuleContext*) ctx); +} + + void exitAssert_property_statement(SV3_1aParser::Assert_property_statementContext * ctx) { +PythonAPI::evalScript("exitAssert_property_statement", this, (ParserRuleContext*) ctx); +} + + void enterAssume_property_statement(SV3_1aParser::Assume_property_statementContext * ctx) { +PythonAPI::evalScript("enterAssume_property_statement", this, (ParserRuleContext*) ctx); +} + + void exitAssume_property_statement(SV3_1aParser::Assume_property_statementContext * ctx) { +PythonAPI::evalScript("exitAssume_property_statement", this, (ParserRuleContext*) ctx); +} + + void enterCover_property_statement(SV3_1aParser::Cover_property_statementContext * ctx) { +PythonAPI::evalScript("enterCover_property_statement", this, (ParserRuleContext*) ctx); +} + + void exitCover_property_statement(SV3_1aParser::Cover_property_statementContext * ctx) { +PythonAPI::evalScript("exitCover_property_statement", this, (ParserRuleContext*) ctx); +} + + void enterExpect_property_statement(SV3_1aParser::Expect_property_statementContext * ctx) { +PythonAPI::evalScript("enterExpect_property_statement", this, (ParserRuleContext*) ctx); +} + + void exitExpect_property_statement(SV3_1aParser::Expect_property_statementContext * ctx) { +PythonAPI::evalScript("exitExpect_property_statement", this, (ParserRuleContext*) ctx); +} + + void enterCover_sequence_statement(SV3_1aParser::Cover_sequence_statementContext * ctx) { +PythonAPI::evalScript("enterCover_sequence_statement", this, (ParserRuleContext*) ctx); +} + + void exitCover_sequence_statement(SV3_1aParser::Cover_sequence_statementContext * ctx) { +PythonAPI::evalScript("exitCover_sequence_statement", this, (ParserRuleContext*) ctx); +} + + void enterRestrict_property_statement(SV3_1aParser::Restrict_property_statementContext * ctx) { +PythonAPI::evalScript("enterRestrict_property_statement", this, (ParserRuleContext*) ctx); +} + + void exitRestrict_property_statement(SV3_1aParser::Restrict_property_statementContext * ctx) { +PythonAPI::evalScript("exitRestrict_property_statement", this, (ParserRuleContext*) ctx); +} + + void enterProperty_instance(SV3_1aParser::Property_instanceContext * ctx) { +PythonAPI::evalScript("enterProperty_instance", this, (ParserRuleContext*) ctx); +} + + void exitProperty_instance(SV3_1aParser::Property_instanceContext * ctx) { +PythonAPI::evalScript("exitProperty_instance", this, (ParserRuleContext*) ctx); +} + + void enterProperty_actual_arg(SV3_1aParser::Property_actual_argContext * ctx) { +PythonAPI::evalScript("enterProperty_actual_arg", this, (ParserRuleContext*) ctx); +} + + void exitProperty_actual_arg(SV3_1aParser::Property_actual_argContext * ctx) { +PythonAPI::evalScript("exitProperty_actual_arg", this, (ParserRuleContext*) ctx); +} + + void enterConcurrent_assertion_item_declaration(SV3_1aParser::Concurrent_assertion_item_declarationContext * ctx) { +PythonAPI::evalScript("enterConcurrent_assertion_item_declaration", this, (ParserRuleContext*) ctx); +} + + void exitConcurrent_assertion_item_declaration(SV3_1aParser::Concurrent_assertion_item_declarationContext * ctx) { +PythonAPI::evalScript("exitConcurrent_assertion_item_declaration", this, (ParserRuleContext*) ctx); +} + + void enterAssertion_item_declaration(SV3_1aParser::Assertion_item_declarationContext * ctx) { +PythonAPI::evalScript("enterAssertion_item_declaration", this, (ParserRuleContext*) ctx); +} + + void exitAssertion_item_declaration(SV3_1aParser::Assertion_item_declarationContext * ctx) { +PythonAPI::evalScript("exitAssertion_item_declaration", this, (ParserRuleContext*) ctx); +} + + void enterEndproperty(SV3_1aParser::EndpropertyContext * ctx) { +PythonAPI::evalScript("enterEndproperty", this, (ParserRuleContext*) ctx); +} + + void exitEndproperty(SV3_1aParser::EndpropertyContext * ctx) { +PythonAPI::evalScript("exitEndproperty", this, (ParserRuleContext*) ctx); +} + + void enterProperty_declaration(SV3_1aParser::Property_declarationContext * ctx) { +PythonAPI::evalScript("enterProperty_declaration", this, (ParserRuleContext*) ctx); +} + + void exitProperty_declaration(SV3_1aParser::Property_declarationContext * ctx) { +PythonAPI::evalScript("exitProperty_declaration", this, (ParserRuleContext*) ctx); +} + + void enterProperty_formal_type(SV3_1aParser::Property_formal_typeContext * ctx) { +PythonAPI::evalScript("enterProperty_formal_type", this, (ParserRuleContext*) ctx); +} + + void exitProperty_formal_type(SV3_1aParser::Property_formal_typeContext * ctx) { +PythonAPI::evalScript("exitProperty_formal_type", this, (ParserRuleContext*) ctx); +} + + void enterProperty_spec(SV3_1aParser::Property_specContext * ctx) { +PythonAPI::evalScript("enterProperty_spec", this, (ParserRuleContext*) ctx); +} + + void exitProperty_spec(SV3_1aParser::Property_specContext * ctx) { +PythonAPI::evalScript("exitProperty_spec", this, (ParserRuleContext*) ctx); +} + + void enterEndcase(SV3_1aParser::EndcaseContext * ctx) { +PythonAPI::evalScript("enterEndcase", this, (ParserRuleContext*) ctx); +} + + void exitEndcase(SV3_1aParser::EndcaseContext * ctx) { +PythonAPI::evalScript("exitEndcase", this, (ParserRuleContext*) ctx); +} + + void enterProperty_expr(SV3_1aParser::Property_exprContext * ctx) { +PythonAPI::evalScript("enterProperty_expr", this, (ParserRuleContext*) ctx); +} + + void exitProperty_expr(SV3_1aParser::Property_exprContext * ctx) { +PythonAPI::evalScript("exitProperty_expr", this, (ParserRuleContext*) ctx); +} + + void enterProperty_case_item(SV3_1aParser::Property_case_itemContext * ctx) { +PythonAPI::evalScript("enterProperty_case_item", this, (ParserRuleContext*) ctx); +} + + void exitProperty_case_item(SV3_1aParser::Property_case_itemContext * ctx) { +PythonAPI::evalScript("exitProperty_case_item", this, (ParserRuleContext*) ctx); +} + + void enterEndsequence(SV3_1aParser::EndsequenceContext * ctx) { +PythonAPI::evalScript("enterEndsequence", this, (ParserRuleContext*) ctx); +} + + void exitEndsequence(SV3_1aParser::EndsequenceContext * ctx) { +PythonAPI::evalScript("exitEndsequence", this, (ParserRuleContext*) ctx); +} + + void enterSequence_declaration(SV3_1aParser::Sequence_declarationContext * ctx) { +PythonAPI::evalScript("enterSequence_declaration", this, (ParserRuleContext*) ctx); +} + + void exitSequence_declaration(SV3_1aParser::Sequence_declarationContext * ctx) { +PythonAPI::evalScript("exitSequence_declaration", this, (ParserRuleContext*) ctx); +} + + void enterSequence_expr(SV3_1aParser::Sequence_exprContext * ctx) { +PythonAPI::evalScript("enterSequence_expr", this, (ParserRuleContext*) ctx); +} + + void exitSequence_expr(SV3_1aParser::Sequence_exprContext * ctx) { +PythonAPI::evalScript("exitSequence_expr", this, (ParserRuleContext*) ctx); +} + + void enterCycle_delay_range(SV3_1aParser::Cycle_delay_rangeContext * ctx) { +PythonAPI::evalScript("enterCycle_delay_range", this, (ParserRuleContext*) ctx); +} + + void exitCycle_delay_range(SV3_1aParser::Cycle_delay_rangeContext * ctx) { +PythonAPI::evalScript("exitCycle_delay_range", this, (ParserRuleContext*) ctx); +} + + void enterSequence_method_call(SV3_1aParser::Sequence_method_callContext * ctx) { +PythonAPI::evalScript("enterSequence_method_call", this, (ParserRuleContext*) ctx); +} + + void exitSequence_method_call(SV3_1aParser::Sequence_method_callContext * ctx) { +PythonAPI::evalScript("exitSequence_method_call", this, (ParserRuleContext*) ctx); +} + + void enterSequence_match_item(SV3_1aParser::Sequence_match_itemContext * ctx) { +PythonAPI::evalScript("enterSequence_match_item", this, (ParserRuleContext*) ctx); +} + + void exitSequence_match_item(SV3_1aParser::Sequence_match_itemContext * ctx) { +PythonAPI::evalScript("exitSequence_match_item", this, (ParserRuleContext*) ctx); +} + + void enterSeqFormatType_Data(SV3_1aParser::SeqFormatType_DataContext * ctx) { +PythonAPI::evalScript("enterSeqFormatType_Data", this, (ParserRuleContext*) ctx); +} + + void exitSeqFormatType_Data(SV3_1aParser::SeqFormatType_DataContext * ctx) { +PythonAPI::evalScript("exitSeqFormatType_Data", this, (ParserRuleContext*) ctx); +} + + void enterSeqFormatType_Sequence(SV3_1aParser::SeqFormatType_SequenceContext * ctx) { +PythonAPI::evalScript("enterSeqFormatType_Sequence", this, (ParserRuleContext*) ctx); +} + + void exitSeqFormatType_Sequence(SV3_1aParser::SeqFormatType_SequenceContext * ctx) { +PythonAPI::evalScript("exitSeqFormatType_Sequence", this, (ParserRuleContext*) ctx); +} + + void enterSeqFormatType_Untyped(SV3_1aParser::SeqFormatType_UntypedContext * ctx) { +PythonAPI::evalScript("enterSeqFormatType_Untyped", this, (ParserRuleContext*) ctx); +} + + void exitSeqFormatType_Untyped(SV3_1aParser::SeqFormatType_UntypedContext * ctx) { +PythonAPI::evalScript("exitSeqFormatType_Untyped", this, (ParserRuleContext*) ctx); +} + + void enterSequence_instance(SV3_1aParser::Sequence_instanceContext * ctx) { +PythonAPI::evalScript("enterSequence_instance", this, (ParserRuleContext*) ctx); +} + + void exitSequence_instance(SV3_1aParser::Sequence_instanceContext * ctx) { +PythonAPI::evalScript("exitSequence_instance", this, (ParserRuleContext*) ctx); +} + + void enterSequence_list_of_arguments(SV3_1aParser::Sequence_list_of_argumentsContext * ctx) { +PythonAPI::evalScript("enterSequence_list_of_arguments", this, (ParserRuleContext*) ctx); +} + + void exitSequence_list_of_arguments(SV3_1aParser::Sequence_list_of_argumentsContext * ctx) { +PythonAPI::evalScript("exitSequence_list_of_arguments", this, (ParserRuleContext*) ctx); +} + + void enterSequence_actual_arg(SV3_1aParser::Sequence_actual_argContext * ctx) { +PythonAPI::evalScript("enterSequence_actual_arg", this, (ParserRuleContext*) ctx); +} + + void exitSequence_actual_arg(SV3_1aParser::Sequence_actual_argContext * ctx) { +PythonAPI::evalScript("exitSequence_actual_arg", this, (ParserRuleContext*) ctx); +} + + void enterFormal_list_item(SV3_1aParser::Formal_list_itemContext * ctx) { +PythonAPI::evalScript("enterFormal_list_item", this, (ParserRuleContext*) ctx); +} + + void exitFormal_list_item(SV3_1aParser::Formal_list_itemContext * ctx) { +PythonAPI::evalScript("exitFormal_list_item", this, (ParserRuleContext*) ctx); +} + + void enterList_of_formals(SV3_1aParser::List_of_formalsContext * ctx) { +PythonAPI::evalScript("enterList_of_formals", this, (ParserRuleContext*) ctx); +} + + void exitList_of_formals(SV3_1aParser::List_of_formalsContext * ctx) { +PythonAPI::evalScript("exitList_of_formals", this, (ParserRuleContext*) ctx); +} + + void enterActual_arg_list(SV3_1aParser::Actual_arg_listContext * ctx) { +PythonAPI::evalScript("enterActual_arg_list", this, (ParserRuleContext*) ctx); +} + + void exitActual_arg_list(SV3_1aParser::Actual_arg_listContext * ctx) { +PythonAPI::evalScript("exitActual_arg_list", this, (ParserRuleContext*) ctx); +} + + void enterActual_arg_expr(SV3_1aParser::Actual_arg_exprContext * ctx) { +PythonAPI::evalScript("enterActual_arg_expr", this, (ParserRuleContext*) ctx); +} + + void exitActual_arg_expr(SV3_1aParser::Actual_arg_exprContext * ctx) { +PythonAPI::evalScript("exitActual_arg_expr", this, (ParserRuleContext*) ctx); +} + + void enterBoolean_abbrev(SV3_1aParser::Boolean_abbrevContext * ctx) { +PythonAPI::evalScript("enterBoolean_abbrev", this, (ParserRuleContext*) ctx); +} + + void exitBoolean_abbrev(SV3_1aParser::Boolean_abbrevContext * ctx) { +PythonAPI::evalScript("exitBoolean_abbrev", this, (ParserRuleContext*) ctx); +} + + void enterConsecutive_repetition(SV3_1aParser::Consecutive_repetitionContext * ctx) { +PythonAPI::evalScript("enterConsecutive_repetition", this, (ParserRuleContext*) ctx); +} + + void exitConsecutive_repetition(SV3_1aParser::Consecutive_repetitionContext * ctx) { +PythonAPI::evalScript("exitConsecutive_repetition", this, (ParserRuleContext*) ctx); +} + + void enterNon_consecutive_repetition(SV3_1aParser::Non_consecutive_repetitionContext * ctx) { +PythonAPI::evalScript("enterNon_consecutive_repetition", this, (ParserRuleContext*) ctx); +} + + void exitNon_consecutive_repetition(SV3_1aParser::Non_consecutive_repetitionContext * ctx) { +PythonAPI::evalScript("exitNon_consecutive_repetition", this, (ParserRuleContext*) ctx); +} + + void enterGoto_repetition(SV3_1aParser::Goto_repetitionContext * ctx) { +PythonAPI::evalScript("enterGoto_repetition", this, (ParserRuleContext*) ctx); +} + + void exitGoto_repetition(SV3_1aParser::Goto_repetitionContext * ctx) { +PythonAPI::evalScript("exitGoto_repetition", this, (ParserRuleContext*) ctx); +} + + void enterConst_or_range_expression(SV3_1aParser::Const_or_range_expressionContext * ctx) { +PythonAPI::evalScript("enterConst_or_range_expression", this, (ParserRuleContext*) ctx); +} + + void exitConst_or_range_expression(SV3_1aParser::Const_or_range_expressionContext * ctx) { +PythonAPI::evalScript("exitConst_or_range_expression", this, (ParserRuleContext*) ctx); +} + + void enterCycle_delay_const_range_expression(SV3_1aParser::Cycle_delay_const_range_expressionContext * ctx) { +PythonAPI::evalScript("enterCycle_delay_const_range_expression", this, (ParserRuleContext*) ctx); +} + + void exitCycle_delay_const_range_expression(SV3_1aParser::Cycle_delay_const_range_expressionContext * ctx) { +PythonAPI::evalScript("exitCycle_delay_const_range_expression", this, (ParserRuleContext*) ctx); +} + + void enterExpression_or_dist(SV3_1aParser::Expression_or_distContext * ctx) { +PythonAPI::evalScript("enterExpression_or_dist", this, (ParserRuleContext*) ctx); +} + + void exitExpression_or_dist(SV3_1aParser::Expression_or_distContext * ctx) { +PythonAPI::evalScript("exitExpression_or_dist", this, (ParserRuleContext*) ctx); +} + + void enterAssertion_variable_declaration(SV3_1aParser::Assertion_variable_declarationContext * ctx) { +PythonAPI::evalScript("enterAssertion_variable_declaration", this, (ParserRuleContext*) ctx); +} + + void exitAssertion_variable_declaration(SV3_1aParser::Assertion_variable_declarationContext * ctx) { +PythonAPI::evalScript("exitAssertion_variable_declaration", this, (ParserRuleContext*) ctx); +} + + void enterLet_declaration(SV3_1aParser::Let_declarationContext * ctx) { +PythonAPI::evalScript("enterLet_declaration", this, (ParserRuleContext*) ctx); +} + + void exitLet_declaration(SV3_1aParser::Let_declarationContext * ctx) { +PythonAPI::evalScript("exitLet_declaration", this, (ParserRuleContext*) ctx); +} + + void enterLet_port_list(SV3_1aParser::Let_port_listContext * ctx) { +PythonAPI::evalScript("enterLet_port_list", this, (ParserRuleContext*) ctx); +} + + void exitLet_port_list(SV3_1aParser::Let_port_listContext * ctx) { +PythonAPI::evalScript("exitLet_port_list", this, (ParserRuleContext*) ctx); +} + + void enterLet_port_item(SV3_1aParser::Let_port_itemContext * ctx) { +PythonAPI::evalScript("enterLet_port_item", this, (ParserRuleContext*) ctx); +} + + void exitLet_port_item(SV3_1aParser::Let_port_itemContext * ctx) { +PythonAPI::evalScript("exitLet_port_item", this, (ParserRuleContext*) ctx); +} + + void enterLet_formal_type(SV3_1aParser::Let_formal_typeContext * ctx) { +PythonAPI::evalScript("enterLet_formal_type", this, (ParserRuleContext*) ctx); +} + + void exitLet_formal_type(SV3_1aParser::Let_formal_typeContext * ctx) { +PythonAPI::evalScript("exitLet_formal_type", this, (ParserRuleContext*) ctx); +} + + void enterEndgroup(SV3_1aParser::EndgroupContext * ctx) { +PythonAPI::evalScript("enterEndgroup", this, (ParserRuleContext*) ctx); +} + + void exitEndgroup(SV3_1aParser::EndgroupContext * ctx) { +PythonAPI::evalScript("exitEndgroup", this, (ParserRuleContext*) ctx); +} + + void enterCovergroup_declaration(SV3_1aParser::Covergroup_declarationContext * ctx) { +PythonAPI::evalScript("enterCovergroup_declaration", this, (ParserRuleContext*) ctx); +} + + void exitCovergroup_declaration(SV3_1aParser::Covergroup_declarationContext * ctx) { +PythonAPI::evalScript("exitCovergroup_declaration", this, (ParserRuleContext*) ctx); +} + + void enterCoverage_spec_or_option(SV3_1aParser::Coverage_spec_or_optionContext * ctx) { +PythonAPI::evalScript("enterCoverage_spec_or_option", this, (ParserRuleContext*) ctx); +} + + void exitCoverage_spec_or_option(SV3_1aParser::Coverage_spec_or_optionContext * ctx) { +PythonAPI::evalScript("exitCoverage_spec_or_option", this, (ParserRuleContext*) ctx); +} + + void enterCoverage_option(SV3_1aParser::Coverage_optionContext * ctx) { +PythonAPI::evalScript("enterCoverage_option", this, (ParserRuleContext*) ctx); +} + + void exitCoverage_option(SV3_1aParser::Coverage_optionContext * ctx) { +PythonAPI::evalScript("exitCoverage_option", this, (ParserRuleContext*) ctx); +} + + void enterCoverage_spec(SV3_1aParser::Coverage_specContext * ctx) { +PythonAPI::evalScript("enterCoverage_spec", this, (ParserRuleContext*) ctx); +} + + void exitCoverage_spec(SV3_1aParser::Coverage_specContext * ctx) { +PythonAPI::evalScript("exitCoverage_spec", this, (ParserRuleContext*) ctx); +} + + void enterCoverage_event(SV3_1aParser::Coverage_eventContext * ctx) { +PythonAPI::evalScript("enterCoverage_event", this, (ParserRuleContext*) ctx); +} + + void exitCoverage_event(SV3_1aParser::Coverage_eventContext * ctx) { +PythonAPI::evalScript("exitCoverage_event", this, (ParserRuleContext*) ctx); +} + + void enterEnd(SV3_1aParser::EndContext * ctx) { +PythonAPI::evalScript("enterEnd", this, (ParserRuleContext*) ctx); +} + + void exitEnd(SV3_1aParser::EndContext * ctx) { +PythonAPI::evalScript("exitEnd", this, (ParserRuleContext*) ctx); +} + + void enterBlock_event_expression(SV3_1aParser::Block_event_expressionContext * ctx) { +PythonAPI::evalScript("enterBlock_event_expression", this, (ParserRuleContext*) ctx); +} + + void exitBlock_event_expression(SV3_1aParser::Block_event_expressionContext * ctx) { +PythonAPI::evalScript("exitBlock_event_expression", this, (ParserRuleContext*) ctx); +} + + void enterHierarchical_btf_identifier(SV3_1aParser::Hierarchical_btf_identifierContext * ctx) { +PythonAPI::evalScript("enterHierarchical_btf_identifier", this, (ParserRuleContext*) ctx); +} + + void exitHierarchical_btf_identifier(SV3_1aParser::Hierarchical_btf_identifierContext * ctx) { +PythonAPI::evalScript("exitHierarchical_btf_identifier", this, (ParserRuleContext*) ctx); +} + + void enterCover_point(SV3_1aParser::Cover_pointContext * ctx) { +PythonAPI::evalScript("enterCover_point", this, (ParserRuleContext*) ctx); +} + + void exitCover_point(SV3_1aParser::Cover_pointContext * ctx) { +PythonAPI::evalScript("exitCover_point", this, (ParserRuleContext*) ctx); +} + + void enterBins_or_empty(SV3_1aParser::Bins_or_emptyContext * ctx) { +PythonAPI::evalScript("enterBins_or_empty", this, (ParserRuleContext*) ctx); +} + + void exitBins_or_empty(SV3_1aParser::Bins_or_emptyContext * ctx) { +PythonAPI::evalScript("exitBins_or_empty", this, (ParserRuleContext*) ctx); +} + + void enterBins_or_options(SV3_1aParser::Bins_or_optionsContext * ctx) { +PythonAPI::evalScript("enterBins_or_options", this, (ParserRuleContext*) ctx); +} + + void exitBins_or_options(SV3_1aParser::Bins_or_optionsContext * ctx) { +PythonAPI::evalScript("exitBins_or_options", this, (ParserRuleContext*) ctx); +} + + void enterBins_Bins(SV3_1aParser::Bins_BinsContext * ctx) { +PythonAPI::evalScript("enterBins_Bins", this, (ParserRuleContext*) ctx); +} + + void exitBins_Bins(SV3_1aParser::Bins_BinsContext * ctx) { +PythonAPI::evalScript("exitBins_Bins", this, (ParserRuleContext*) ctx); +} + + void enterBins_Illegal(SV3_1aParser::Bins_IllegalContext * ctx) { +PythonAPI::evalScript("enterBins_Illegal", this, (ParserRuleContext*) ctx); +} + + void exitBins_Illegal(SV3_1aParser::Bins_IllegalContext * ctx) { +PythonAPI::evalScript("exitBins_Illegal", this, (ParserRuleContext*) ctx); +} + + void enterBins_Ignore(SV3_1aParser::Bins_IgnoreContext * ctx) { +PythonAPI::evalScript("enterBins_Ignore", this, (ParserRuleContext*) ctx); +} + + void exitBins_Ignore(SV3_1aParser::Bins_IgnoreContext * ctx) { +PythonAPI::evalScript("exitBins_Ignore", this, (ParserRuleContext*) ctx); +} + + void enterRange_list(SV3_1aParser::Range_listContext * ctx) { +PythonAPI::evalScript("enterRange_list", this, (ParserRuleContext*) ctx); +} + + void exitRange_list(SV3_1aParser::Range_listContext * ctx) { +PythonAPI::evalScript("exitRange_list", this, (ParserRuleContext*) ctx); +} + + void enterTrans_list(SV3_1aParser::Trans_listContext * ctx) { +PythonAPI::evalScript("enterTrans_list", this, (ParserRuleContext*) ctx); +} + + void exitTrans_list(SV3_1aParser::Trans_listContext * ctx) { +PythonAPI::evalScript("exitTrans_list", this, (ParserRuleContext*) ctx); +} + + void enterTrans_set(SV3_1aParser::Trans_setContext * ctx) { +PythonAPI::evalScript("enterTrans_set", this, (ParserRuleContext*) ctx); +} + + void exitTrans_set(SV3_1aParser::Trans_setContext * ctx) { +PythonAPI::evalScript("exitTrans_set", this, (ParserRuleContext*) ctx); +} + + void enterTrans_range_list(SV3_1aParser::Trans_range_listContext * ctx) { +PythonAPI::evalScript("enterTrans_range_list", this, (ParserRuleContext*) ctx); +} + + void exitTrans_range_list(SV3_1aParser::Trans_range_listContext * ctx) { +PythonAPI::evalScript("exitTrans_range_list", this, (ParserRuleContext*) ctx); +} + + void enterRepeat_range(SV3_1aParser::Repeat_rangeContext * ctx) { +PythonAPI::evalScript("enterRepeat_range", this, (ParserRuleContext*) ctx); +} + + void exitRepeat_range(SV3_1aParser::Repeat_rangeContext * ctx) { +PythonAPI::evalScript("exitRepeat_range", this, (ParserRuleContext*) ctx); +} + + void enterCover_cross(SV3_1aParser::Cover_crossContext * ctx) { +PythonAPI::evalScript("enterCover_cross", this, (ParserRuleContext*) ctx); +} + + void exitCover_cross(SV3_1aParser::Cover_crossContext * ctx) { +PythonAPI::evalScript("exitCover_cross", this, (ParserRuleContext*) ctx); +} + + void enterList_of_cross_items(SV3_1aParser::List_of_cross_itemsContext * ctx) { +PythonAPI::evalScript("enterList_of_cross_items", this, (ParserRuleContext*) ctx); +} + + void exitList_of_cross_items(SV3_1aParser::List_of_cross_itemsContext * ctx) { +PythonAPI::evalScript("exitList_of_cross_items", this, (ParserRuleContext*) ctx); +} + + void enterCross_item(SV3_1aParser::Cross_itemContext * ctx) { +PythonAPI::evalScript("enterCross_item", this, (ParserRuleContext*) ctx); +} + + void exitCross_item(SV3_1aParser::Cross_itemContext * ctx) { +PythonAPI::evalScript("exitCross_item", this, (ParserRuleContext*) ctx); +} + + void enterCross_body(SV3_1aParser::Cross_bodyContext * ctx) { +PythonAPI::evalScript("enterCross_body", this, (ParserRuleContext*) ctx); +} + + void exitCross_body(SV3_1aParser::Cross_bodyContext * ctx) { +PythonAPI::evalScript("exitCross_body", this, (ParserRuleContext*) ctx); +} + + void enterCross_body_item(SV3_1aParser::Cross_body_itemContext * ctx) { +PythonAPI::evalScript("enterCross_body_item", this, (ParserRuleContext*) ctx); +} + + void exitCross_body_item(SV3_1aParser::Cross_body_itemContext * ctx) { +PythonAPI::evalScript("exitCross_body_item", this, (ParserRuleContext*) ctx); +} + + void enterBins_selection_or_option(SV3_1aParser::Bins_selection_or_optionContext * ctx) { +PythonAPI::evalScript("enterBins_selection_or_option", this, (ParserRuleContext*) ctx); +} + + void exitBins_selection_or_option(SV3_1aParser::Bins_selection_or_optionContext * ctx) { +PythonAPI::evalScript("exitBins_selection_or_option", this, (ParserRuleContext*) ctx); +} + + void enterBins_selection(SV3_1aParser::Bins_selectionContext * ctx) { +PythonAPI::evalScript("enterBins_selection", this, (ParserRuleContext*) ctx); +} + + void exitBins_selection(SV3_1aParser::Bins_selectionContext * ctx) { +PythonAPI::evalScript("exitBins_selection", this, (ParserRuleContext*) ctx); +} + + void enterSelect_expression(SV3_1aParser::Select_expressionContext * ctx) { +PythonAPI::evalScript("enterSelect_expression", this, (ParserRuleContext*) ctx); +} + + void exitSelect_expression(SV3_1aParser::Select_expressionContext * ctx) { +PythonAPI::evalScript("exitSelect_expression", this, (ParserRuleContext*) ctx); +} + + void enterSelect_condition(SV3_1aParser::Select_conditionContext * ctx) { +PythonAPI::evalScript("enterSelect_condition", this, (ParserRuleContext*) ctx); +} + + void exitSelect_condition(SV3_1aParser::Select_conditionContext * ctx) { +PythonAPI::evalScript("exitSelect_condition", this, (ParserRuleContext*) ctx); +} + + void enterBins_expression(SV3_1aParser::Bins_expressionContext * ctx) { +PythonAPI::evalScript("enterBins_expression", this, (ParserRuleContext*) ctx); +} + + void exitBins_expression(SV3_1aParser::Bins_expressionContext * ctx) { +PythonAPI::evalScript("exitBins_expression", this, (ParserRuleContext*) ctx); +} + + void enterOpen_range_list(SV3_1aParser::Open_range_listContext * ctx) { +PythonAPI::evalScript("enterOpen_range_list", this, (ParserRuleContext*) ctx); +} + + void exitOpen_range_list(SV3_1aParser::Open_range_listContext * ctx) { +PythonAPI::evalScript("exitOpen_range_list", this, (ParserRuleContext*) ctx); +} + + void enterGate_instantiation(SV3_1aParser::Gate_instantiationContext * ctx) { +PythonAPI::evalScript("enterGate_instantiation", this, (ParserRuleContext*) ctx); +} + + void exitGate_instantiation(SV3_1aParser::Gate_instantiationContext * ctx) { +PythonAPI::evalScript("exitGate_instantiation", this, (ParserRuleContext*) ctx); +} + + void enterCmos_switch_instance(SV3_1aParser::Cmos_switch_instanceContext * ctx) { +PythonAPI::evalScript("enterCmos_switch_instance", this, (ParserRuleContext*) ctx); +} + + void exitCmos_switch_instance(SV3_1aParser::Cmos_switch_instanceContext * ctx) { +PythonAPI::evalScript("exitCmos_switch_instance", this, (ParserRuleContext*) ctx); +} + + void enterEnable_gate_instance(SV3_1aParser::Enable_gate_instanceContext * ctx) { +PythonAPI::evalScript("enterEnable_gate_instance", this, (ParserRuleContext*) ctx); +} + + void exitEnable_gate_instance(SV3_1aParser::Enable_gate_instanceContext * ctx) { +PythonAPI::evalScript("exitEnable_gate_instance", this, (ParserRuleContext*) ctx); +} + + void enterMos_switch_instance(SV3_1aParser::Mos_switch_instanceContext * ctx) { +PythonAPI::evalScript("enterMos_switch_instance", this, (ParserRuleContext*) ctx); +} + + void exitMos_switch_instance(SV3_1aParser::Mos_switch_instanceContext * ctx) { +PythonAPI::evalScript("exitMos_switch_instance", this, (ParserRuleContext*) ctx); +} + + void enterN_input_gate_instance(SV3_1aParser::N_input_gate_instanceContext * ctx) { +PythonAPI::evalScript("enterN_input_gate_instance", this, (ParserRuleContext*) ctx); +} + + void exitN_input_gate_instance(SV3_1aParser::N_input_gate_instanceContext * ctx) { +PythonAPI::evalScript("exitN_input_gate_instance", this, (ParserRuleContext*) ctx); +} + + void enterN_output_gate_instance(SV3_1aParser::N_output_gate_instanceContext * ctx) { +PythonAPI::evalScript("enterN_output_gate_instance", this, (ParserRuleContext*) ctx); +} + + void exitN_output_gate_instance(SV3_1aParser::N_output_gate_instanceContext * ctx) { +PythonAPI::evalScript("exitN_output_gate_instance", this, (ParserRuleContext*) ctx); +} + + void enterPass_switch_instance(SV3_1aParser::Pass_switch_instanceContext * ctx) { +PythonAPI::evalScript("enterPass_switch_instance", this, (ParserRuleContext*) ctx); +} + + void exitPass_switch_instance(SV3_1aParser::Pass_switch_instanceContext * ctx) { +PythonAPI::evalScript("exitPass_switch_instance", this, (ParserRuleContext*) ctx); +} + + void enterPass_enable_switch_instance(SV3_1aParser::Pass_enable_switch_instanceContext * ctx) { +PythonAPI::evalScript("enterPass_enable_switch_instance", this, (ParserRuleContext*) ctx); +} + + void exitPass_enable_switch_instance(SV3_1aParser::Pass_enable_switch_instanceContext * ctx) { +PythonAPI::evalScript("exitPass_enable_switch_instance", this, (ParserRuleContext*) ctx); +} + + void enterPull_gate_instance(SV3_1aParser::Pull_gate_instanceContext * ctx) { +PythonAPI::evalScript("enterPull_gate_instance", this, (ParserRuleContext*) ctx); +} + + void exitPull_gate_instance(SV3_1aParser::Pull_gate_instanceContext * ctx) { +PythonAPI::evalScript("exitPull_gate_instance", this, (ParserRuleContext*) ctx); +} + + void enterPulldownStrength_01(SV3_1aParser::PulldownStrength_01Context * ctx) { +PythonAPI::evalScript("enterPulldownStrength_01", this, (ParserRuleContext*) ctx); +} + + void exitPulldownStrength_01(SV3_1aParser::PulldownStrength_01Context * ctx) { +PythonAPI::evalScript("exitPulldownStrength_01", this, (ParserRuleContext*) ctx); +} + + void enterPulldownStrength_10(SV3_1aParser::PulldownStrength_10Context * ctx) { +PythonAPI::evalScript("enterPulldownStrength_10", this, (ParserRuleContext*) ctx); +} + + void exitPulldownStrength_10(SV3_1aParser::PulldownStrength_10Context * ctx) { +PythonAPI::evalScript("exitPulldownStrength_10", this, (ParserRuleContext*) ctx); +} + + void enterPulldownStrength_0(SV3_1aParser::PulldownStrength_0Context * ctx) { +PythonAPI::evalScript("enterPulldownStrength_0", this, (ParserRuleContext*) ctx); +} + + void exitPulldownStrength_0(SV3_1aParser::PulldownStrength_0Context * ctx) { +PythonAPI::evalScript("exitPulldownStrength_0", this, (ParserRuleContext*) ctx); +} + + void enterPullupStrength_01(SV3_1aParser::PullupStrength_01Context * ctx) { +PythonAPI::evalScript("enterPullupStrength_01", this, (ParserRuleContext*) ctx); +} + + void exitPullupStrength_01(SV3_1aParser::PullupStrength_01Context * ctx) { +PythonAPI::evalScript("exitPullupStrength_01", this, (ParserRuleContext*) ctx); +} + + void enterPullupStrength_10(SV3_1aParser::PullupStrength_10Context * ctx) { +PythonAPI::evalScript("enterPullupStrength_10", this, (ParserRuleContext*) ctx); +} + + void exitPullupStrength_10(SV3_1aParser::PullupStrength_10Context * ctx) { +PythonAPI::evalScript("exitPullupStrength_10", this, (ParserRuleContext*) ctx); +} + + void enterPullupStrength_1(SV3_1aParser::PullupStrength_1Context * ctx) { +PythonAPI::evalScript("enterPullupStrength_1", this, (ParserRuleContext*) ctx); +} + + void exitPullupStrength_1(SV3_1aParser::PullupStrength_1Context * ctx) { +PythonAPI::evalScript("exitPullupStrength_1", this, (ParserRuleContext*) ctx); +} + + void enterCmosSwitchType_Cmos(SV3_1aParser::CmosSwitchType_CmosContext * ctx) { +PythonAPI::evalScript("enterCmosSwitchType_Cmos", this, (ParserRuleContext*) ctx); +} + + void exitCmosSwitchType_Cmos(SV3_1aParser::CmosSwitchType_CmosContext * ctx) { +PythonAPI::evalScript("exitCmosSwitchType_Cmos", this, (ParserRuleContext*) ctx); +} + + void enterCmosSwitchType_RCmos(SV3_1aParser::CmosSwitchType_RCmosContext * ctx) { +PythonAPI::evalScript("enterCmosSwitchType_RCmos", this, (ParserRuleContext*) ctx); +} + + void exitCmosSwitchType_RCmos(SV3_1aParser::CmosSwitchType_RCmosContext * ctx) { +PythonAPI::evalScript("exitCmosSwitchType_RCmos", this, (ParserRuleContext*) ctx); +} + + void enterEnableGateType_Bufif0(SV3_1aParser::EnableGateType_Bufif0Context * ctx) { +PythonAPI::evalScript("enterEnableGateType_Bufif0", this, (ParserRuleContext*) ctx); +} + + void exitEnableGateType_Bufif0(SV3_1aParser::EnableGateType_Bufif0Context * ctx) { +PythonAPI::evalScript("exitEnableGateType_Bufif0", this, (ParserRuleContext*) ctx); +} + + void enterEnableGateType_Bufif1(SV3_1aParser::EnableGateType_Bufif1Context * ctx) { +PythonAPI::evalScript("enterEnableGateType_Bufif1", this, (ParserRuleContext*) ctx); +} + + void exitEnableGateType_Bufif1(SV3_1aParser::EnableGateType_Bufif1Context * ctx) { +PythonAPI::evalScript("exitEnableGateType_Bufif1", this, (ParserRuleContext*) ctx); +} + + void enterEnableGateType_Notif0(SV3_1aParser::EnableGateType_Notif0Context * ctx) { +PythonAPI::evalScript("enterEnableGateType_Notif0", this, (ParserRuleContext*) ctx); +} + + void exitEnableGateType_Notif0(SV3_1aParser::EnableGateType_Notif0Context * ctx) { +PythonAPI::evalScript("exitEnableGateType_Notif0", this, (ParserRuleContext*) ctx); +} + + void enterEnableGateType_Notif1(SV3_1aParser::EnableGateType_Notif1Context * ctx) { +PythonAPI::evalScript("enterEnableGateType_Notif1", this, (ParserRuleContext*) ctx); +} + + void exitEnableGateType_Notif1(SV3_1aParser::EnableGateType_Notif1Context * ctx) { +PythonAPI::evalScript("exitEnableGateType_Notif1", this, (ParserRuleContext*) ctx); +} + + void enterMosSwitchType_NMos(SV3_1aParser::MosSwitchType_NMosContext * ctx) { +PythonAPI::evalScript("enterMosSwitchType_NMos", this, (ParserRuleContext*) ctx); +} + + void exitMosSwitchType_NMos(SV3_1aParser::MosSwitchType_NMosContext * ctx) { +PythonAPI::evalScript("exitMosSwitchType_NMos", this, (ParserRuleContext*) ctx); +} + + void enterMosSwitchType_PMos(SV3_1aParser::MosSwitchType_PMosContext * ctx) { +PythonAPI::evalScript("enterMosSwitchType_PMos", this, (ParserRuleContext*) ctx); +} + + void exitMosSwitchType_PMos(SV3_1aParser::MosSwitchType_PMosContext * ctx) { +PythonAPI::evalScript("exitMosSwitchType_PMos", this, (ParserRuleContext*) ctx); +} + + void enterMosSwitchType_RNMos(SV3_1aParser::MosSwitchType_RNMosContext * ctx) { +PythonAPI::evalScript("enterMosSwitchType_RNMos", this, (ParserRuleContext*) ctx); +} + + void exitMosSwitchType_RNMos(SV3_1aParser::MosSwitchType_RNMosContext * ctx) { +PythonAPI::evalScript("exitMosSwitchType_RNMos", this, (ParserRuleContext*) ctx); +} + + void enterMosSwitchType_RPMos(SV3_1aParser::MosSwitchType_RPMosContext * ctx) { +PythonAPI::evalScript("enterMosSwitchType_RPMos", this, (ParserRuleContext*) ctx); +} + + void exitMosSwitchType_RPMos(SV3_1aParser::MosSwitchType_RPMosContext * ctx) { +PythonAPI::evalScript("exitMosSwitchType_RPMos", this, (ParserRuleContext*) ctx); +} + + void enterNInpGate_And(SV3_1aParser::NInpGate_AndContext * ctx) { +PythonAPI::evalScript("enterNInpGate_And", this, (ParserRuleContext*) ctx); +} + + void exitNInpGate_And(SV3_1aParser::NInpGate_AndContext * ctx) { +PythonAPI::evalScript("exitNInpGate_And", this, (ParserRuleContext*) ctx); +} + + void enterNInpGate_Nand(SV3_1aParser::NInpGate_NandContext * ctx) { +PythonAPI::evalScript("enterNInpGate_Nand", this, (ParserRuleContext*) ctx); +} + + void exitNInpGate_Nand(SV3_1aParser::NInpGate_NandContext * ctx) { +PythonAPI::evalScript("exitNInpGate_Nand", this, (ParserRuleContext*) ctx); +} + + void enterNInpGate_Or(SV3_1aParser::NInpGate_OrContext * ctx) { +PythonAPI::evalScript("enterNInpGate_Or", this, (ParserRuleContext*) ctx); +} + + void exitNInpGate_Or(SV3_1aParser::NInpGate_OrContext * ctx) { +PythonAPI::evalScript("exitNInpGate_Or", this, (ParserRuleContext*) ctx); +} + + void enterNInpGate_Nor(SV3_1aParser::NInpGate_NorContext * ctx) { +PythonAPI::evalScript("enterNInpGate_Nor", this, (ParserRuleContext*) ctx); +} + + void exitNInpGate_Nor(SV3_1aParser::NInpGate_NorContext * ctx) { +PythonAPI::evalScript("exitNInpGate_Nor", this, (ParserRuleContext*) ctx); +} + + void enterNInpGate_Xor(SV3_1aParser::NInpGate_XorContext * ctx) { +PythonAPI::evalScript("enterNInpGate_Xor", this, (ParserRuleContext*) ctx); +} + + void exitNInpGate_Xor(SV3_1aParser::NInpGate_XorContext * ctx) { +PythonAPI::evalScript("exitNInpGate_Xor", this, (ParserRuleContext*) ctx); +} + + void enterNInpGate_Xnor(SV3_1aParser::NInpGate_XnorContext * ctx) { +PythonAPI::evalScript("enterNInpGate_Xnor", this, (ParserRuleContext*) ctx); +} + + void exitNInpGate_Xnor(SV3_1aParser::NInpGate_XnorContext * ctx) { +PythonAPI::evalScript("exitNInpGate_Xnor", this, (ParserRuleContext*) ctx); +} + + void enterNOutGate_Buf(SV3_1aParser::NOutGate_BufContext * ctx) { +PythonAPI::evalScript("enterNOutGate_Buf", this, (ParserRuleContext*) ctx); +} + + void exitNOutGate_Buf(SV3_1aParser::NOutGate_BufContext * ctx) { +PythonAPI::evalScript("exitNOutGate_Buf", this, (ParserRuleContext*) ctx); +} + + void enterNOutGate_Not(SV3_1aParser::NOutGate_NotContext * ctx) { +PythonAPI::evalScript("enterNOutGate_Not", this, (ParserRuleContext*) ctx); +} + + void exitNOutGate_Not(SV3_1aParser::NOutGate_NotContext * ctx) { +PythonAPI::evalScript("exitNOutGate_Not", this, (ParserRuleContext*) ctx); +} + + void enterPassEnSwitch_Tranif0(SV3_1aParser::PassEnSwitch_Tranif0Context * ctx) { +PythonAPI::evalScript("enterPassEnSwitch_Tranif0", this, (ParserRuleContext*) ctx); +} + + void exitPassEnSwitch_Tranif0(SV3_1aParser::PassEnSwitch_Tranif0Context * ctx) { +PythonAPI::evalScript("exitPassEnSwitch_Tranif0", this, (ParserRuleContext*) ctx); +} + + void enterPassEnSwitch_Tranif1(SV3_1aParser::PassEnSwitch_Tranif1Context * ctx) { +PythonAPI::evalScript("enterPassEnSwitch_Tranif1", this, (ParserRuleContext*) ctx); +} + + void exitPassEnSwitch_Tranif1(SV3_1aParser::PassEnSwitch_Tranif1Context * ctx) { +PythonAPI::evalScript("exitPassEnSwitch_Tranif1", this, (ParserRuleContext*) ctx); +} + + void enterPassEnSwitch_RTranif1(SV3_1aParser::PassEnSwitch_RTranif1Context * ctx) { +PythonAPI::evalScript("enterPassEnSwitch_RTranif1", this, (ParserRuleContext*) ctx); +} + + void exitPassEnSwitch_RTranif1(SV3_1aParser::PassEnSwitch_RTranif1Context * ctx) { +PythonAPI::evalScript("exitPassEnSwitch_RTranif1", this, (ParserRuleContext*) ctx); +} + + void enterPassEnSwitch_RTranif0(SV3_1aParser::PassEnSwitch_RTranif0Context * ctx) { +PythonAPI::evalScript("enterPassEnSwitch_RTranif0", this, (ParserRuleContext*) ctx); +} + + void exitPassEnSwitch_RTranif0(SV3_1aParser::PassEnSwitch_RTranif0Context * ctx) { +PythonAPI::evalScript("exitPassEnSwitch_RTranif0", this, (ParserRuleContext*) ctx); +} + + void enterPassSwitch_Tran(SV3_1aParser::PassSwitch_TranContext * ctx) { +PythonAPI::evalScript("enterPassSwitch_Tran", this, (ParserRuleContext*) ctx); +} + + void exitPassSwitch_Tran(SV3_1aParser::PassSwitch_TranContext * ctx) { +PythonAPI::evalScript("exitPassSwitch_Tran", this, (ParserRuleContext*) ctx); +} + + void enterPassSwitch_RTran(SV3_1aParser::PassSwitch_RTranContext * ctx) { +PythonAPI::evalScript("enterPassSwitch_RTran", this, (ParserRuleContext*) ctx); +} + + void exitPassSwitch_RTran(SV3_1aParser::PassSwitch_RTranContext * ctx) { +PythonAPI::evalScript("exitPassSwitch_RTran", this, (ParserRuleContext*) ctx); +} + + void enterModule_instantiation(SV3_1aParser::Module_instantiationContext * ctx) { +PythonAPI::evalScript("enterModule_instantiation", this, (ParserRuleContext*) ctx); +} + + void exitModule_instantiation(SV3_1aParser::Module_instantiationContext * ctx) { +PythonAPI::evalScript("exitModule_instantiation", this, (ParserRuleContext*) ctx); +} + + void enterParameter_value_assignment(SV3_1aParser::Parameter_value_assignmentContext * ctx) { +PythonAPI::evalScript("enterParameter_value_assignment", this, (ParserRuleContext*) ctx); +} + + void exitParameter_value_assignment(SV3_1aParser::Parameter_value_assignmentContext * ctx) { +PythonAPI::evalScript("exitParameter_value_assignment", this, (ParserRuleContext*) ctx); +} + + void enterList_of_parameter_assignments(SV3_1aParser::List_of_parameter_assignmentsContext * ctx) { +PythonAPI::evalScript("enterList_of_parameter_assignments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_parameter_assignments(SV3_1aParser::List_of_parameter_assignmentsContext * ctx) { +PythonAPI::evalScript("exitList_of_parameter_assignments", this, (ParserRuleContext*) ctx); +} + + void enterOrdered_parameter_assignment(SV3_1aParser::Ordered_parameter_assignmentContext * ctx) { +PythonAPI::evalScript("enterOrdered_parameter_assignment", this, (ParserRuleContext*) ctx); +} + + void exitOrdered_parameter_assignment(SV3_1aParser::Ordered_parameter_assignmentContext * ctx) { +PythonAPI::evalScript("exitOrdered_parameter_assignment", this, (ParserRuleContext*) ctx); +} + + void enterNamed_parameter_assignment(SV3_1aParser::Named_parameter_assignmentContext * ctx) { +PythonAPI::evalScript("enterNamed_parameter_assignment", this, (ParserRuleContext*) ctx); +} + + void exitNamed_parameter_assignment(SV3_1aParser::Named_parameter_assignmentContext * ctx) { +PythonAPI::evalScript("exitNamed_parameter_assignment", this, (ParserRuleContext*) ctx); +} + + void enterHierarchical_instance(SV3_1aParser::Hierarchical_instanceContext * ctx) { +PythonAPI::evalScript("enterHierarchical_instance", this, (ParserRuleContext*) ctx); +} + + void exitHierarchical_instance(SV3_1aParser::Hierarchical_instanceContext * ctx) { +PythonAPI::evalScript("exitHierarchical_instance", this, (ParserRuleContext*) ctx); +} + + void enterName_of_instance(SV3_1aParser::Name_of_instanceContext * ctx) { +PythonAPI::evalScript("enterName_of_instance", this, (ParserRuleContext*) ctx); +} + + void exitName_of_instance(SV3_1aParser::Name_of_instanceContext * ctx) { +PythonAPI::evalScript("exitName_of_instance", this, (ParserRuleContext*) ctx); +} + + void enterList_of_port_connections(SV3_1aParser::List_of_port_connectionsContext * ctx) { +PythonAPI::evalScript("enterList_of_port_connections", this, (ParserRuleContext*) ctx); +} + + void exitList_of_port_connections(SV3_1aParser::List_of_port_connectionsContext * ctx) { +PythonAPI::evalScript("exitList_of_port_connections", this, (ParserRuleContext*) ctx); +} + + void enterOrdered_port_connection(SV3_1aParser::Ordered_port_connectionContext * ctx) { +PythonAPI::evalScript("enterOrdered_port_connection", this, (ParserRuleContext*) ctx); +} + + void exitOrdered_port_connection(SV3_1aParser::Ordered_port_connectionContext * ctx) { +PythonAPI::evalScript("exitOrdered_port_connection", this, (ParserRuleContext*) ctx); +} + + void enterNamed_port_connection(SV3_1aParser::Named_port_connectionContext * ctx) { +PythonAPI::evalScript("enterNamed_port_connection", this, (ParserRuleContext*) ctx); +} + + void exitNamed_port_connection(SV3_1aParser::Named_port_connectionContext * ctx) { +PythonAPI::evalScript("exitNamed_port_connection", this, (ParserRuleContext*) ctx); +} + + void enterInterface_instantiation(SV3_1aParser::Interface_instantiationContext * ctx) { +PythonAPI::evalScript("enterInterface_instantiation", this, (ParserRuleContext*) ctx); +} + + void exitInterface_instantiation(SV3_1aParser::Interface_instantiationContext * ctx) { +PythonAPI::evalScript("exitInterface_instantiation", this, (ParserRuleContext*) ctx); +} + + void enterProgram_instantiation(SV3_1aParser::Program_instantiationContext * ctx) { +PythonAPI::evalScript("enterProgram_instantiation", this, (ParserRuleContext*) ctx); +} + + void exitProgram_instantiation(SV3_1aParser::Program_instantiationContext * ctx) { +PythonAPI::evalScript("exitProgram_instantiation", this, (ParserRuleContext*) ctx); +} + + void enterChecker_instantiation(SV3_1aParser::Checker_instantiationContext * ctx) { +PythonAPI::evalScript("enterChecker_instantiation", this, (ParserRuleContext*) ctx); +} + + void exitChecker_instantiation(SV3_1aParser::Checker_instantiationContext * ctx) { +PythonAPI::evalScript("exitChecker_instantiation", this, (ParserRuleContext*) ctx); +} + + void enterList_of_checker_port_connections(SV3_1aParser::List_of_checker_port_connectionsContext * ctx) { +PythonAPI::evalScript("enterList_of_checker_port_connections", this, (ParserRuleContext*) ctx); +} + + void exitList_of_checker_port_connections(SV3_1aParser::List_of_checker_port_connectionsContext * ctx) { +PythonAPI::evalScript("exitList_of_checker_port_connections", this, (ParserRuleContext*) ctx); +} + + void enterOrdered_checker_port_connection(SV3_1aParser::Ordered_checker_port_connectionContext * ctx) { +PythonAPI::evalScript("enterOrdered_checker_port_connection", this, (ParserRuleContext*) ctx); +} + + void exitOrdered_checker_port_connection(SV3_1aParser::Ordered_checker_port_connectionContext * ctx) { +PythonAPI::evalScript("exitOrdered_checker_port_connection", this, (ParserRuleContext*) ctx); +} + + void enterNamed_checker_port_connection(SV3_1aParser::Named_checker_port_connectionContext * ctx) { +PythonAPI::evalScript("enterNamed_checker_port_connection", this, (ParserRuleContext*) ctx); +} + + void exitNamed_checker_port_connection(SV3_1aParser::Named_checker_port_connectionContext * ctx) { +PythonAPI::evalScript("exitNamed_checker_port_connection", this, (ParserRuleContext*) ctx); +} + + void enterEndgenerate(SV3_1aParser::EndgenerateContext * ctx) { +PythonAPI::evalScript("enterEndgenerate", this, (ParserRuleContext*) ctx); +} + + void exitEndgenerate(SV3_1aParser::EndgenerateContext * ctx) { +PythonAPI::evalScript("exitEndgenerate", this, (ParserRuleContext*) ctx); +} + + void enterGenerated_module_instantiation(SV3_1aParser::Generated_module_instantiationContext * ctx) { +PythonAPI::evalScript("enterGenerated_module_instantiation", this, (ParserRuleContext*) ctx); +} + + void exitGenerated_module_instantiation(SV3_1aParser::Generated_module_instantiationContext * ctx) { +PythonAPI::evalScript("exitGenerated_module_instantiation", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_module_item(SV3_1aParser::Generate_module_itemContext * ctx) { +PythonAPI::evalScript("enterGenerate_module_item", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_module_item(SV3_1aParser::Generate_module_itemContext * ctx) { +PythonAPI::evalScript("exitGenerate_module_item", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_module_conditional_statement(SV3_1aParser::Generate_module_conditional_statementContext * ctx) { +PythonAPI::evalScript("enterGenerate_module_conditional_statement", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_module_conditional_statement(SV3_1aParser::Generate_module_conditional_statementContext * ctx) { +PythonAPI::evalScript("exitGenerate_module_conditional_statement", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_module_case_statement(SV3_1aParser::Generate_module_case_statementContext * ctx) { +PythonAPI::evalScript("enterGenerate_module_case_statement", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_module_case_statement(SV3_1aParser::Generate_module_case_statementContext * ctx) { +PythonAPI::evalScript("exitGenerate_module_case_statement", this, (ParserRuleContext*) ctx); +} + + void enterGenvar_module_case_item(SV3_1aParser::Genvar_module_case_itemContext * ctx) { +PythonAPI::evalScript("enterGenvar_module_case_item", this, (ParserRuleContext*) ctx); +} + + void exitGenvar_module_case_item(SV3_1aParser::Genvar_module_case_itemContext * ctx) { +PythonAPI::evalScript("exitGenvar_module_case_item", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_module_loop_statement(SV3_1aParser::Generate_module_loop_statementContext * ctx) { +PythonAPI::evalScript("enterGenerate_module_loop_statement", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_module_loop_statement(SV3_1aParser::Generate_module_loop_statementContext * ctx) { +PythonAPI::evalScript("exitGenerate_module_loop_statement", this, (ParserRuleContext*) ctx); +} + + void enterGenvar_assignment(SV3_1aParser::Genvar_assignmentContext * ctx) { +PythonAPI::evalScript("enterGenvar_assignment", this, (ParserRuleContext*) ctx); +} + + void exitGenvar_assignment(SV3_1aParser::Genvar_assignmentContext * ctx) { +PythonAPI::evalScript("exitGenvar_assignment", this, (ParserRuleContext*) ctx); +} + + void enterGenvar_decl_assignment(SV3_1aParser::Genvar_decl_assignmentContext * ctx) { +PythonAPI::evalScript("enterGenvar_decl_assignment", this, (ParserRuleContext*) ctx); +} + + void exitGenvar_decl_assignment(SV3_1aParser::Genvar_decl_assignmentContext * ctx) { +PythonAPI::evalScript("exitGenvar_decl_assignment", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_module_named_block(SV3_1aParser::Generate_module_named_blockContext * ctx) { +PythonAPI::evalScript("enterGenerate_module_named_block", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_module_named_block(SV3_1aParser::Generate_module_named_blockContext * ctx) { +PythonAPI::evalScript("exitGenerate_module_named_block", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_module_block(SV3_1aParser::Generate_module_blockContext * ctx) { +PythonAPI::evalScript("enterGenerate_module_block", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_module_block(SV3_1aParser::Generate_module_blockContext * ctx) { +PythonAPI::evalScript("exitGenerate_module_block", this, (ParserRuleContext*) ctx); +} + + void enterGenerated_interface_instantiation(SV3_1aParser::Generated_interface_instantiationContext * ctx) { +PythonAPI::evalScript("enterGenerated_interface_instantiation", this, (ParserRuleContext*) ctx); +} + + void exitGenerated_interface_instantiation(SV3_1aParser::Generated_interface_instantiationContext * ctx) { +PythonAPI::evalScript("exitGenerated_interface_instantiation", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_interface_item(SV3_1aParser::Generate_interface_itemContext * ctx) { +PythonAPI::evalScript("enterGenerate_interface_item", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_interface_item(SV3_1aParser::Generate_interface_itemContext * ctx) { +PythonAPI::evalScript("exitGenerate_interface_item", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_interface_conditional_statement(SV3_1aParser::Generate_interface_conditional_statementContext * ctx) { +PythonAPI::evalScript("enterGenerate_interface_conditional_statement", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_interface_conditional_statement(SV3_1aParser::Generate_interface_conditional_statementContext * ctx) { +PythonAPI::evalScript("exitGenerate_interface_conditional_statement", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_interface_case_statement(SV3_1aParser::Generate_interface_case_statementContext * ctx) { +PythonAPI::evalScript("enterGenerate_interface_case_statement", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_interface_case_statement(SV3_1aParser::Generate_interface_case_statementContext * ctx) { +PythonAPI::evalScript("exitGenerate_interface_case_statement", this, (ParserRuleContext*) ctx); +} + + void enterGenvar_interface_case_item(SV3_1aParser::Genvar_interface_case_itemContext * ctx) { +PythonAPI::evalScript("enterGenvar_interface_case_item", this, (ParserRuleContext*) ctx); +} + + void exitGenvar_interface_case_item(SV3_1aParser::Genvar_interface_case_itemContext * ctx) { +PythonAPI::evalScript("exitGenvar_interface_case_item", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_interface_loop_statement(SV3_1aParser::Generate_interface_loop_statementContext * ctx) { +PythonAPI::evalScript("enterGenerate_interface_loop_statement", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_interface_loop_statement(SV3_1aParser::Generate_interface_loop_statementContext * ctx) { +PythonAPI::evalScript("exitGenerate_interface_loop_statement", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_interface_named_block(SV3_1aParser::Generate_interface_named_blockContext * ctx) { +PythonAPI::evalScript("enterGenerate_interface_named_block", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_interface_named_block(SV3_1aParser::Generate_interface_named_blockContext * ctx) { +PythonAPI::evalScript("exitGenerate_interface_named_block", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_interface_block(SV3_1aParser::Generate_interface_blockContext * ctx) { +PythonAPI::evalScript("enterGenerate_interface_block", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_interface_block(SV3_1aParser::Generate_interface_blockContext * ctx) { +PythonAPI::evalScript("exitGenerate_interface_block", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_region(SV3_1aParser::Generate_regionContext * ctx) { +PythonAPI::evalScript("enterGenerate_region", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_region(SV3_1aParser::Generate_regionContext * ctx) { +PythonAPI::evalScript("exitGenerate_region", this, (ParserRuleContext*) ctx); +} + + void enterLoop_generate_construct(SV3_1aParser::Loop_generate_constructContext * ctx) { +PythonAPI::evalScript("enterLoop_generate_construct", this, (ParserRuleContext*) ctx); +} + + void exitLoop_generate_construct(SV3_1aParser::Loop_generate_constructContext * ctx) { +PythonAPI::evalScript("exitLoop_generate_construct", this, (ParserRuleContext*) ctx); +} + + void enterGenvar_initialization(SV3_1aParser::Genvar_initializationContext * ctx) { +PythonAPI::evalScript("enterGenvar_initialization", this, (ParserRuleContext*) ctx); +} + + void exitGenvar_initialization(SV3_1aParser::Genvar_initializationContext * ctx) { +PythonAPI::evalScript("exitGenvar_initialization", this, (ParserRuleContext*) ctx); +} + + void enterGenvar_iteration(SV3_1aParser::Genvar_iterationContext * ctx) { +PythonAPI::evalScript("enterGenvar_iteration", this, (ParserRuleContext*) ctx); +} + + void exitGenvar_iteration(SV3_1aParser::Genvar_iterationContext * ctx) { +PythonAPI::evalScript("exitGenvar_iteration", this, (ParserRuleContext*) ctx); +} + + void enterConditional_generate_construct(SV3_1aParser::Conditional_generate_constructContext * ctx) { +PythonAPI::evalScript("enterConditional_generate_construct", this, (ParserRuleContext*) ctx); +} + + void exitConditional_generate_construct(SV3_1aParser::Conditional_generate_constructContext * ctx) { +PythonAPI::evalScript("exitConditional_generate_construct", this, (ParserRuleContext*) ctx); +} + + void enterIf_generate_construct(SV3_1aParser::If_generate_constructContext * ctx) { +PythonAPI::evalScript("enterIf_generate_construct", this, (ParserRuleContext*) ctx); +} + + void exitIf_generate_construct(SV3_1aParser::If_generate_constructContext * ctx) { +PythonAPI::evalScript("exitIf_generate_construct", this, (ParserRuleContext*) ctx); +} + + void enterCase_generate_construct(SV3_1aParser::Case_generate_constructContext * ctx) { +PythonAPI::evalScript("enterCase_generate_construct", this, (ParserRuleContext*) ctx); +} + + void exitCase_generate_construct(SV3_1aParser::Case_generate_constructContext * ctx) { +PythonAPI::evalScript("exitCase_generate_construct", this, (ParserRuleContext*) ctx); +} + + void enterCase_generate_item(SV3_1aParser::Case_generate_itemContext * ctx) { +PythonAPI::evalScript("enterCase_generate_item", this, (ParserRuleContext*) ctx); +} + + void exitCase_generate_item(SV3_1aParser::Case_generate_itemContext * ctx) { +PythonAPI::evalScript("exitCase_generate_item", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_block(SV3_1aParser::Generate_blockContext * ctx) { +PythonAPI::evalScript("enterGenerate_block", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_block(SV3_1aParser::Generate_blockContext * ctx) { +PythonAPI::evalScript("exitGenerate_block", this, (ParserRuleContext*) ctx); +} + + void enterGenerate_item(SV3_1aParser::Generate_itemContext * ctx) { +PythonAPI::evalScript("enterGenerate_item", this, (ParserRuleContext*) ctx); +} + + void exitGenerate_item(SV3_1aParser::Generate_itemContext * ctx) { +PythonAPI::evalScript("exitGenerate_item", this, (ParserRuleContext*) ctx); +} + + void enterUdp_nonansi_declaration(SV3_1aParser::Udp_nonansi_declarationContext * ctx) { +PythonAPI::evalScript("enterUdp_nonansi_declaration", this, (ParserRuleContext*) ctx); +} + + void exitUdp_nonansi_declaration(SV3_1aParser::Udp_nonansi_declarationContext * ctx) { +PythonAPI::evalScript("exitUdp_nonansi_declaration", this, (ParserRuleContext*) ctx); +} + + void enterUdp_ansi_declaration(SV3_1aParser::Udp_ansi_declarationContext * ctx) { +PythonAPI::evalScript("enterUdp_ansi_declaration", this, (ParserRuleContext*) ctx); +} + + void exitUdp_ansi_declaration(SV3_1aParser::Udp_ansi_declarationContext * ctx) { +PythonAPI::evalScript("exitUdp_ansi_declaration", this, (ParserRuleContext*) ctx); +} + + void enterEndprimitive(SV3_1aParser::EndprimitiveContext * ctx) { +PythonAPI::evalScript("enterEndprimitive", this, (ParserRuleContext*) ctx); +} + + void exitEndprimitive(SV3_1aParser::EndprimitiveContext * ctx) { +PythonAPI::evalScript("exitEndprimitive", this, (ParserRuleContext*) ctx); +} + + void enterUdp_declaration(SV3_1aParser::Udp_declarationContext * ctx) { +PythonAPI::evalScript("enterUdp_declaration", this, (ParserRuleContext*) ctx); +} + + void exitUdp_declaration(SV3_1aParser::Udp_declarationContext * ctx) { +PythonAPI::evalScript("exitUdp_declaration", this, (ParserRuleContext*) ctx); +} + + void enterUdp_port_list(SV3_1aParser::Udp_port_listContext * ctx) { +PythonAPI::evalScript("enterUdp_port_list", this, (ParserRuleContext*) ctx); +} + + void exitUdp_port_list(SV3_1aParser::Udp_port_listContext * ctx) { +PythonAPI::evalScript("exitUdp_port_list", this, (ParserRuleContext*) ctx); +} + + void enterUdp_declaration_port_list(SV3_1aParser::Udp_declaration_port_listContext * ctx) { +PythonAPI::evalScript("enterUdp_declaration_port_list", this, (ParserRuleContext*) ctx); +} + + void exitUdp_declaration_port_list(SV3_1aParser::Udp_declaration_port_listContext * ctx) { +PythonAPI::evalScript("exitUdp_declaration_port_list", this, (ParserRuleContext*) ctx); +} + + void enterUdp_port_declaration(SV3_1aParser::Udp_port_declarationContext * ctx) { +PythonAPI::evalScript("enterUdp_port_declaration", this, (ParserRuleContext*) ctx); +} + + void exitUdp_port_declaration(SV3_1aParser::Udp_port_declarationContext * ctx) { +PythonAPI::evalScript("exitUdp_port_declaration", this, (ParserRuleContext*) ctx); +} + + void enterUdp_output_declaration(SV3_1aParser::Udp_output_declarationContext * ctx) { +PythonAPI::evalScript("enterUdp_output_declaration", this, (ParserRuleContext*) ctx); +} + + void exitUdp_output_declaration(SV3_1aParser::Udp_output_declarationContext * ctx) { +PythonAPI::evalScript("exitUdp_output_declaration", this, (ParserRuleContext*) ctx); +} + + void enterUdp_input_declaration(SV3_1aParser::Udp_input_declarationContext * ctx) { +PythonAPI::evalScript("enterUdp_input_declaration", this, (ParserRuleContext*) ctx); +} + + void exitUdp_input_declaration(SV3_1aParser::Udp_input_declarationContext * ctx) { +PythonAPI::evalScript("exitUdp_input_declaration", this, (ParserRuleContext*) ctx); +} + + void enterUdp_reg_declaration(SV3_1aParser::Udp_reg_declarationContext * ctx) { +PythonAPI::evalScript("enterUdp_reg_declaration", this, (ParserRuleContext*) ctx); +} + + void exitUdp_reg_declaration(SV3_1aParser::Udp_reg_declarationContext * ctx) { +PythonAPI::evalScript("exitUdp_reg_declaration", this, (ParserRuleContext*) ctx); +} + + void enterUdp_body(SV3_1aParser::Udp_bodyContext * ctx) { +PythonAPI::evalScript("enterUdp_body", this, (ParserRuleContext*) ctx); +} + + void exitUdp_body(SV3_1aParser::Udp_bodyContext * ctx) { +PythonAPI::evalScript("exitUdp_body", this, (ParserRuleContext*) ctx); +} + + void enterEndtable(SV3_1aParser::EndtableContext * ctx) { +PythonAPI::evalScript("enterEndtable", this, (ParserRuleContext*) ctx); +} + + void exitEndtable(SV3_1aParser::EndtableContext * ctx) { +PythonAPI::evalScript("exitEndtable", this, (ParserRuleContext*) ctx); +} + + void enterCombinational_body(SV3_1aParser::Combinational_bodyContext * ctx) { +PythonAPI::evalScript("enterCombinational_body", this, (ParserRuleContext*) ctx); +} + + void exitCombinational_body(SV3_1aParser::Combinational_bodyContext * ctx) { +PythonAPI::evalScript("exitCombinational_body", this, (ParserRuleContext*) ctx); +} + + void enterCombinational_entry(SV3_1aParser::Combinational_entryContext * ctx) { +PythonAPI::evalScript("enterCombinational_entry", this, (ParserRuleContext*) ctx); +} + + void exitCombinational_entry(SV3_1aParser::Combinational_entryContext * ctx) { +PythonAPI::evalScript("exitCombinational_entry", this, (ParserRuleContext*) ctx); +} + + void enterSequential_body(SV3_1aParser::Sequential_bodyContext * ctx) { +PythonAPI::evalScript("enterSequential_body", this, (ParserRuleContext*) ctx); +} + + void exitSequential_body(SV3_1aParser::Sequential_bodyContext * ctx) { +PythonAPI::evalScript("exitSequential_body", this, (ParserRuleContext*) ctx); +} + + void enterUdp_initial_statement(SV3_1aParser::Udp_initial_statementContext * ctx) { +PythonAPI::evalScript("enterUdp_initial_statement", this, (ParserRuleContext*) ctx); +} + + void exitUdp_initial_statement(SV3_1aParser::Udp_initial_statementContext * ctx) { +PythonAPI::evalScript("exitUdp_initial_statement", this, (ParserRuleContext*) ctx); +} + + void enterInitVal_1Tickb0(SV3_1aParser::InitVal_1Tickb0Context * ctx) { +PythonAPI::evalScript("enterInitVal_1Tickb0", this, (ParserRuleContext*) ctx); +} + + void exitInitVal_1Tickb0(SV3_1aParser::InitVal_1Tickb0Context * ctx) { +PythonAPI::evalScript("exitInitVal_1Tickb0", this, (ParserRuleContext*) ctx); +} + + void enterInitVal_1Tickb1(SV3_1aParser::InitVal_1Tickb1Context * ctx) { +PythonAPI::evalScript("enterInitVal_1Tickb1", this, (ParserRuleContext*) ctx); +} + + void exitInitVal_1Tickb1(SV3_1aParser::InitVal_1Tickb1Context * ctx) { +PythonAPI::evalScript("exitInitVal_1Tickb1", this, (ParserRuleContext*) ctx); +} + + void enterInitVal_1TickB0(SV3_1aParser::InitVal_1TickB0Context * ctx) { +PythonAPI::evalScript("enterInitVal_1TickB0", this, (ParserRuleContext*) ctx); +} + + void exitInitVal_1TickB0(SV3_1aParser::InitVal_1TickB0Context * ctx) { +PythonAPI::evalScript("exitInitVal_1TickB0", this, (ParserRuleContext*) ctx); +} + + void enterInitVal_1TickB1(SV3_1aParser::InitVal_1TickB1Context * ctx) { +PythonAPI::evalScript("enterInitVal_1TickB1", this, (ParserRuleContext*) ctx); +} + + void exitInitVal_1TickB1(SV3_1aParser::InitVal_1TickB1Context * ctx) { +PythonAPI::evalScript("exitInitVal_1TickB1", this, (ParserRuleContext*) ctx); +} + + void enterInitVal_1Tickbx(SV3_1aParser::InitVal_1TickbxContext * ctx) { +PythonAPI::evalScript("enterInitVal_1Tickbx", this, (ParserRuleContext*) ctx); +} + + void exitInitVal_1Tickbx(SV3_1aParser::InitVal_1TickbxContext * ctx) { +PythonAPI::evalScript("exitInitVal_1Tickbx", this, (ParserRuleContext*) ctx); +} + + void enterInitVal_1TickbX(SV3_1aParser::InitVal_1TickbXContext * ctx) { +PythonAPI::evalScript("enterInitVal_1TickbX", this, (ParserRuleContext*) ctx); +} + + void exitInitVal_1TickbX(SV3_1aParser::InitVal_1TickbXContext * ctx) { +PythonAPI::evalScript("exitInitVal_1TickbX", this, (ParserRuleContext*) ctx); +} + + void enterInitVal_1TickBx(SV3_1aParser::InitVal_1TickBxContext * ctx) { +PythonAPI::evalScript("enterInitVal_1TickBx", this, (ParserRuleContext*) ctx); +} + + void exitInitVal_1TickBx(SV3_1aParser::InitVal_1TickBxContext * ctx) { +PythonAPI::evalScript("exitInitVal_1TickBx", this, (ParserRuleContext*) ctx); +} + + void enterInitVal_1TickBX(SV3_1aParser::InitVal_1TickBXContext * ctx) { +PythonAPI::evalScript("enterInitVal_1TickBX", this, (ParserRuleContext*) ctx); +} + + void exitInitVal_1TickBX(SV3_1aParser::InitVal_1TickBXContext * ctx) { +PythonAPI::evalScript("exitInitVal_1TickBX", this, (ParserRuleContext*) ctx); +} + + void enterInitVal_Integral(SV3_1aParser::InitVal_IntegralContext * ctx) { +PythonAPI::evalScript("enterInitVal_Integral", this, (ParserRuleContext*) ctx); +} + + void exitInitVal_Integral(SV3_1aParser::InitVal_IntegralContext * ctx) { +PythonAPI::evalScript("exitInitVal_Integral", this, (ParserRuleContext*) ctx); +} + + void enterSequential_entry(SV3_1aParser::Sequential_entryContext * ctx) { +PythonAPI::evalScript("enterSequential_entry", this, (ParserRuleContext*) ctx); +} + + void exitSequential_entry(SV3_1aParser::Sequential_entryContext * ctx) { +PythonAPI::evalScript("exitSequential_entry", this, (ParserRuleContext*) ctx); +} + + void enterSeq_input_list(SV3_1aParser::Seq_input_listContext * ctx) { +PythonAPI::evalScript("enterSeq_input_list", this, (ParserRuleContext*) ctx); +} + + void exitSeq_input_list(SV3_1aParser::Seq_input_listContext * ctx) { +PythonAPI::evalScript("exitSeq_input_list", this, (ParserRuleContext*) ctx); +} + + void enterLevel_input_list(SV3_1aParser::Level_input_listContext * ctx) { +PythonAPI::evalScript("enterLevel_input_list", this, (ParserRuleContext*) ctx); +} + + void exitLevel_input_list(SV3_1aParser::Level_input_listContext * ctx) { +PythonAPI::evalScript("exitLevel_input_list", this, (ParserRuleContext*) ctx); +} + + void enterEdge_input_list(SV3_1aParser::Edge_input_listContext * ctx) { +PythonAPI::evalScript("enterEdge_input_list", this, (ParserRuleContext*) ctx); +} + + void exitEdge_input_list(SV3_1aParser::Edge_input_listContext * ctx) { +PythonAPI::evalScript("exitEdge_input_list", this, (ParserRuleContext*) ctx); +} + + void enterEdge_indicator(SV3_1aParser::Edge_indicatorContext * ctx) { +PythonAPI::evalScript("enterEdge_indicator", this, (ParserRuleContext*) ctx); +} + + void exitEdge_indicator(SV3_1aParser::Edge_indicatorContext * ctx) { +PythonAPI::evalScript("exitEdge_indicator", this, (ParserRuleContext*) ctx); +} + + void enterNext_state(SV3_1aParser::Next_stateContext * ctx) { +PythonAPI::evalScript("enterNext_state", this, (ParserRuleContext*) ctx); +} + + void exitNext_state(SV3_1aParser::Next_stateContext * ctx) { +PythonAPI::evalScript("exitNext_state", this, (ParserRuleContext*) ctx); +} + + void enterOutput_symbol(SV3_1aParser::Output_symbolContext * ctx) { +PythonAPI::evalScript("enterOutput_symbol", this, (ParserRuleContext*) ctx); +} + + void exitOutput_symbol(SV3_1aParser::Output_symbolContext * ctx) { +PythonAPI::evalScript("exitOutput_symbol", this, (ParserRuleContext*) ctx); +} + + void enterLevel_symbol(SV3_1aParser::Level_symbolContext * ctx) { +PythonAPI::evalScript("enterLevel_symbol", this, (ParserRuleContext*) ctx); +} + + void exitLevel_symbol(SV3_1aParser::Level_symbolContext * ctx) { +PythonAPI::evalScript("exitLevel_symbol", this, (ParserRuleContext*) ctx); +} + + void enterEdge_symbol(SV3_1aParser::Edge_symbolContext * ctx) { +PythonAPI::evalScript("enterEdge_symbol", this, (ParserRuleContext*) ctx); +} + + void exitEdge_symbol(SV3_1aParser::Edge_symbolContext * ctx) { +PythonAPI::evalScript("exitEdge_symbol", this, (ParserRuleContext*) ctx); +} + + void enterUdp_instantiation(SV3_1aParser::Udp_instantiationContext * ctx) { +PythonAPI::evalScript("enterUdp_instantiation", this, (ParserRuleContext*) ctx); +} + + void exitUdp_instantiation(SV3_1aParser::Udp_instantiationContext * ctx) { +PythonAPI::evalScript("exitUdp_instantiation", this, (ParserRuleContext*) ctx); +} + + void enterUdp_instance(SV3_1aParser::Udp_instanceContext * ctx) { +PythonAPI::evalScript("enterUdp_instance", this, (ParserRuleContext*) ctx); +} + + void exitUdp_instance(SV3_1aParser::Udp_instanceContext * ctx) { +PythonAPI::evalScript("exitUdp_instance", this, (ParserRuleContext*) ctx); +} + + void enterContinuous_assign(SV3_1aParser::Continuous_assignContext * ctx) { +PythonAPI::evalScript("enterContinuous_assign", this, (ParserRuleContext*) ctx); +} + + void exitContinuous_assign(SV3_1aParser::Continuous_assignContext * ctx) { +PythonAPI::evalScript("exitContinuous_assign", this, (ParserRuleContext*) ctx); +} + + void enterList_of_net_assignments(SV3_1aParser::List_of_net_assignmentsContext * ctx) { +PythonAPI::evalScript("enterList_of_net_assignments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_net_assignments(SV3_1aParser::List_of_net_assignmentsContext * ctx) { +PythonAPI::evalScript("exitList_of_net_assignments", this, (ParserRuleContext*) ctx); +} + + void enterList_of_variable_assignments(SV3_1aParser::List_of_variable_assignmentsContext * ctx) { +PythonAPI::evalScript("enterList_of_variable_assignments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_variable_assignments(SV3_1aParser::List_of_variable_assignmentsContext * ctx) { +PythonAPI::evalScript("exitList_of_variable_assignments", this, (ParserRuleContext*) ctx); +} + + void enterNet_alias(SV3_1aParser::Net_aliasContext * ctx) { +PythonAPI::evalScript("enterNet_alias", this, (ParserRuleContext*) ctx); +} + + void exitNet_alias(SV3_1aParser::Net_aliasContext * ctx) { +PythonAPI::evalScript("exitNet_alias", this, (ParserRuleContext*) ctx); +} + + void enterNet_assignment(SV3_1aParser::Net_assignmentContext * ctx) { +PythonAPI::evalScript("enterNet_assignment", this, (ParserRuleContext*) ctx); +} + + void exitNet_assignment(SV3_1aParser::Net_assignmentContext * ctx) { +PythonAPI::evalScript("exitNet_assignment", this, (ParserRuleContext*) ctx); +} + + void enterInitial_construct(SV3_1aParser::Initial_constructContext * ctx) { +PythonAPI::evalScript("enterInitial_construct", this, (ParserRuleContext*) ctx); +} + + void exitInitial_construct(SV3_1aParser::Initial_constructContext * ctx) { +PythonAPI::evalScript("exitInitial_construct", this, (ParserRuleContext*) ctx); +} + + void enterAlways_construct(SV3_1aParser::Always_constructContext * ctx) { +PythonAPI::evalScript("enterAlways_construct", this, (ParserRuleContext*) ctx); +} + + void exitAlways_construct(SV3_1aParser::Always_constructContext * ctx) { +PythonAPI::evalScript("exitAlways_construct", this, (ParserRuleContext*) ctx); +} + + void enterAlwaysKeywd_Always(SV3_1aParser::AlwaysKeywd_AlwaysContext * ctx) { +PythonAPI::evalScript("enterAlwaysKeywd_Always", this, (ParserRuleContext*) ctx); +} + + void exitAlwaysKeywd_Always(SV3_1aParser::AlwaysKeywd_AlwaysContext * ctx) { +PythonAPI::evalScript("exitAlwaysKeywd_Always", this, (ParserRuleContext*) ctx); +} + + void enterAlwaysKeywd_Comb(SV3_1aParser::AlwaysKeywd_CombContext * ctx) { +PythonAPI::evalScript("enterAlwaysKeywd_Comb", this, (ParserRuleContext*) ctx); +} + + void exitAlwaysKeywd_Comb(SV3_1aParser::AlwaysKeywd_CombContext * ctx) { +PythonAPI::evalScript("exitAlwaysKeywd_Comb", this, (ParserRuleContext*) ctx); +} + + void enterAlwaysKeywd_Latch(SV3_1aParser::AlwaysKeywd_LatchContext * ctx) { +PythonAPI::evalScript("enterAlwaysKeywd_Latch", this, (ParserRuleContext*) ctx); +} + + void exitAlwaysKeywd_Latch(SV3_1aParser::AlwaysKeywd_LatchContext * ctx) { +PythonAPI::evalScript("exitAlwaysKeywd_Latch", this, (ParserRuleContext*) ctx); +} + + void enterAlwaysKeywd_FF(SV3_1aParser::AlwaysKeywd_FFContext * ctx) { +PythonAPI::evalScript("enterAlwaysKeywd_FF", this, (ParserRuleContext*) ctx); +} + + void exitAlwaysKeywd_FF(SV3_1aParser::AlwaysKeywd_FFContext * ctx) { +PythonAPI::evalScript("exitAlwaysKeywd_FF", this, (ParserRuleContext*) ctx); +} + + void enterBlocking_assignment(SV3_1aParser::Blocking_assignmentContext * ctx) { +PythonAPI::evalScript("enterBlocking_assignment", this, (ParserRuleContext*) ctx); +} + + void exitBlocking_assignment(SV3_1aParser::Blocking_assignmentContext * ctx) { +PythonAPI::evalScript("exitBlocking_assignment", this, (ParserRuleContext*) ctx); +} + + void enterOperator_assignment(SV3_1aParser::Operator_assignmentContext * ctx) { +PythonAPI::evalScript("enterOperator_assignment", this, (ParserRuleContext*) ctx); +} + + void exitOperator_assignment(SV3_1aParser::Operator_assignmentContext * ctx) { +PythonAPI::evalScript("exitOperator_assignment", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_Assign(SV3_1aParser::AssignOp_AssignContext * ctx) { +PythonAPI::evalScript("enterAssignOp_Assign", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_Assign(SV3_1aParser::AssignOp_AssignContext * ctx) { +PythonAPI::evalScript("exitAssignOp_Assign", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_Add(SV3_1aParser::AssignOp_AddContext * ctx) { +PythonAPI::evalScript("enterAssignOp_Add", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_Add(SV3_1aParser::AssignOp_AddContext * ctx) { +PythonAPI::evalScript("exitAssignOp_Add", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_Sub(SV3_1aParser::AssignOp_SubContext * ctx) { +PythonAPI::evalScript("enterAssignOp_Sub", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_Sub(SV3_1aParser::AssignOp_SubContext * ctx) { +PythonAPI::evalScript("exitAssignOp_Sub", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_Mult(SV3_1aParser::AssignOp_MultContext * ctx) { +PythonAPI::evalScript("enterAssignOp_Mult", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_Mult(SV3_1aParser::AssignOp_MultContext * ctx) { +PythonAPI::evalScript("exitAssignOp_Mult", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_Div(SV3_1aParser::AssignOp_DivContext * ctx) { +PythonAPI::evalScript("enterAssignOp_Div", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_Div(SV3_1aParser::AssignOp_DivContext * ctx) { +PythonAPI::evalScript("exitAssignOp_Div", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_Modulo(SV3_1aParser::AssignOp_ModuloContext * ctx) { +PythonAPI::evalScript("enterAssignOp_Modulo", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_Modulo(SV3_1aParser::AssignOp_ModuloContext * ctx) { +PythonAPI::evalScript("exitAssignOp_Modulo", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_BitwAnd(SV3_1aParser::AssignOp_BitwAndContext * ctx) { +PythonAPI::evalScript("enterAssignOp_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_BitwAnd(SV3_1aParser::AssignOp_BitwAndContext * ctx) { +PythonAPI::evalScript("exitAssignOp_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_BitwOr(SV3_1aParser::AssignOp_BitwOrContext * ctx) { +PythonAPI::evalScript("enterAssignOp_BitwOr", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_BitwOr(SV3_1aParser::AssignOp_BitwOrContext * ctx) { +PythonAPI::evalScript("exitAssignOp_BitwOr", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_BitwXor(SV3_1aParser::AssignOp_BitwXorContext * ctx) { +PythonAPI::evalScript("enterAssignOp_BitwXor", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_BitwXor(SV3_1aParser::AssignOp_BitwXorContext * ctx) { +PythonAPI::evalScript("exitAssignOp_BitwXor", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_BitwLeftShift(SV3_1aParser::AssignOp_BitwLeftShiftContext * ctx) { +PythonAPI::evalScript("enterAssignOp_BitwLeftShift", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_BitwLeftShift(SV3_1aParser::AssignOp_BitwLeftShiftContext * ctx) { +PythonAPI::evalScript("exitAssignOp_BitwLeftShift", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_BitwRightShift(SV3_1aParser::AssignOp_BitwRightShiftContext * ctx) { +PythonAPI::evalScript("enterAssignOp_BitwRightShift", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_BitwRightShift(SV3_1aParser::AssignOp_BitwRightShiftContext * ctx) { +PythonAPI::evalScript("exitAssignOp_BitwRightShift", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_ArithShiftLeft(SV3_1aParser::AssignOp_ArithShiftLeftContext * ctx) { +PythonAPI::evalScript("enterAssignOp_ArithShiftLeft", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_ArithShiftLeft(SV3_1aParser::AssignOp_ArithShiftLeftContext * ctx) { +PythonAPI::evalScript("exitAssignOp_ArithShiftLeft", this, (ParserRuleContext*) ctx); +} + + void enterAssignOp_ArithShiftRight(SV3_1aParser::AssignOp_ArithShiftRightContext * ctx) { +PythonAPI::evalScript("enterAssignOp_ArithShiftRight", this, (ParserRuleContext*) ctx); +} + + void exitAssignOp_ArithShiftRight(SV3_1aParser::AssignOp_ArithShiftRightContext * ctx) { +PythonAPI::evalScript("exitAssignOp_ArithShiftRight", this, (ParserRuleContext*) ctx); +} + + void enterNonblocking_assignment(SV3_1aParser::Nonblocking_assignmentContext * ctx) { +PythonAPI::evalScript("enterNonblocking_assignment", this, (ParserRuleContext*) ctx); +} + + void exitNonblocking_assignment(SV3_1aParser::Nonblocking_assignmentContext * ctx) { +PythonAPI::evalScript("exitNonblocking_assignment", this, (ParserRuleContext*) ctx); +} + + void enterProcedural_continuous_assignment(SV3_1aParser::Procedural_continuous_assignmentContext * ctx) { +PythonAPI::evalScript("enterProcedural_continuous_assignment", this, (ParserRuleContext*) ctx); +} + + void exitProcedural_continuous_assignment(SV3_1aParser::Procedural_continuous_assignmentContext * ctx) { +PythonAPI::evalScript("exitProcedural_continuous_assignment", this, (ParserRuleContext*) ctx); +} + + void enterVariable_assignment(SV3_1aParser::Variable_assignmentContext * ctx) { +PythonAPI::evalScript("enterVariable_assignment", this, (ParserRuleContext*) ctx); +} + + void exitVariable_assignment(SV3_1aParser::Variable_assignmentContext * ctx) { +PythonAPI::evalScript("exitVariable_assignment", this, (ParserRuleContext*) ctx); +} + + void enterAction_block(SV3_1aParser::Action_blockContext * ctx) { +PythonAPI::evalScript("enterAction_block", this, (ParserRuleContext*) ctx); +} + + void exitAction_block(SV3_1aParser::Action_blockContext * ctx) { +PythonAPI::evalScript("exitAction_block", this, (ParserRuleContext*) ctx); +} + + void enterSeq_block(SV3_1aParser::Seq_blockContext * ctx) { +PythonAPI::evalScript("enterSeq_block", this, (ParserRuleContext*) ctx); +} + + void exitSeq_block(SV3_1aParser::Seq_blockContext * ctx) { +PythonAPI::evalScript("exitSeq_block", this, (ParserRuleContext*) ctx); +} + + void enterPar_block(SV3_1aParser::Par_blockContext * ctx) { +PythonAPI::evalScript("enterPar_block", this, (ParserRuleContext*) ctx); +} + + void exitPar_block(SV3_1aParser::Par_blockContext * ctx) { +PythonAPI::evalScript("exitPar_block", this, (ParserRuleContext*) ctx); +} + + void enterJoin_keyword(SV3_1aParser::Join_keywordContext * ctx) { +PythonAPI::evalScript("enterJoin_keyword", this, (ParserRuleContext*) ctx); +} + + void exitJoin_keyword(SV3_1aParser::Join_keywordContext * ctx) { +PythonAPI::evalScript("exitJoin_keyword", this, (ParserRuleContext*) ctx); +} + + void enterJoin_any_keyword(SV3_1aParser::Join_any_keywordContext * ctx) { +PythonAPI::evalScript("enterJoin_any_keyword", this, (ParserRuleContext*) ctx); +} + + void exitJoin_any_keyword(SV3_1aParser::Join_any_keywordContext * ctx) { +PythonAPI::evalScript("exitJoin_any_keyword", this, (ParserRuleContext*) ctx); +} + + void enterJoin_none_keyword(SV3_1aParser::Join_none_keywordContext * ctx) { +PythonAPI::evalScript("enterJoin_none_keyword", this, (ParserRuleContext*) ctx); +} + + void exitJoin_none_keyword(SV3_1aParser::Join_none_keywordContext * ctx) { +PythonAPI::evalScript("exitJoin_none_keyword", this, (ParserRuleContext*) ctx); +} + + void enterStatement_or_null(SV3_1aParser::Statement_or_nullContext * ctx) { +PythonAPI::evalScript("enterStatement_or_null", this, (ParserRuleContext*) ctx); +} + + void exitStatement_or_null(SV3_1aParser::Statement_or_nullContext * ctx) { +PythonAPI::evalScript("exitStatement_or_null", this, (ParserRuleContext*) ctx); +} + + void enterStatement(SV3_1aParser::StatementContext * ctx) { +PythonAPI::evalScript("enterStatement", this, (ParserRuleContext*) ctx); +} + + void exitStatement(SV3_1aParser::StatementContext * ctx) { +PythonAPI::evalScript("exitStatement", this, (ParserRuleContext*) ctx); +} + + void enterStatement_item(SV3_1aParser::Statement_itemContext * ctx) { +PythonAPI::evalScript("enterStatement_item", this, (ParserRuleContext*) ctx); +} + + void exitStatement_item(SV3_1aParser::Statement_itemContext * ctx) { +PythonAPI::evalScript("exitStatement_item", this, (ParserRuleContext*) ctx); +} + + void enterFunction_statement_or_null(SV3_1aParser::Function_statement_or_nullContext * ctx) { +PythonAPI::evalScript("enterFunction_statement_or_null", this, (ParserRuleContext*) ctx); +} + + void exitFunction_statement_or_null(SV3_1aParser::Function_statement_or_nullContext * ctx) { +PythonAPI::evalScript("exitFunction_statement_or_null", this, (ParserRuleContext*) ctx); +} + + void enterProcedural_timing_control_statement(SV3_1aParser::Procedural_timing_control_statementContext * ctx) { +PythonAPI::evalScript("enterProcedural_timing_control_statement", this, (ParserRuleContext*) ctx); +} + + void exitProcedural_timing_control_statement(SV3_1aParser::Procedural_timing_control_statementContext * ctx) { +PythonAPI::evalScript("exitProcedural_timing_control_statement", this, (ParserRuleContext*) ctx); +} + + void enterDelay_or_event_control(SV3_1aParser::Delay_or_event_controlContext * ctx) { +PythonAPI::evalScript("enterDelay_or_event_control", this, (ParserRuleContext*) ctx); +} + + void exitDelay_or_event_control(SV3_1aParser::Delay_or_event_controlContext * ctx) { +PythonAPI::evalScript("exitDelay_or_event_control", this, (ParserRuleContext*) ctx); +} + + void enterDelay_control(SV3_1aParser::Delay_controlContext * ctx) { +PythonAPI::evalScript("enterDelay_control", this, (ParserRuleContext*) ctx); +} + + void exitDelay_control(SV3_1aParser::Delay_controlContext * ctx) { +PythonAPI::evalScript("exitDelay_control", this, (ParserRuleContext*) ctx); +} + + void enterEvent_control(SV3_1aParser::Event_controlContext * ctx) { +PythonAPI::evalScript("enterEvent_control", this, (ParserRuleContext*) ctx); +} + + void exitEvent_control(SV3_1aParser::Event_controlContext * ctx) { +PythonAPI::evalScript("exitEvent_control", this, (ParserRuleContext*) ctx); +} + + void enterEvent_expression(SV3_1aParser::Event_expressionContext * ctx) { +PythonAPI::evalScript("enterEvent_expression", this, (ParserRuleContext*) ctx); +} + + void exitEvent_expression(SV3_1aParser::Event_expressionContext * ctx) { +PythonAPI::evalScript("exitEvent_expression", this, (ParserRuleContext*) ctx); +} + + void enterProcedural_timing_control(SV3_1aParser::Procedural_timing_controlContext * ctx) { +PythonAPI::evalScript("enterProcedural_timing_control", this, (ParserRuleContext*) ctx); +} + + void exitProcedural_timing_control(SV3_1aParser::Procedural_timing_controlContext * ctx) { +PythonAPI::evalScript("exitProcedural_timing_control", this, (ParserRuleContext*) ctx); +} + + void enterJump_statement(SV3_1aParser::Jump_statementContext * ctx) { +PythonAPI::evalScript("enterJump_statement", this, (ParserRuleContext*) ctx); +} + + void exitJump_statement(SV3_1aParser::Jump_statementContext * ctx) { +PythonAPI::evalScript("exitJump_statement", this, (ParserRuleContext*) ctx); +} + + void enterFinal_construct(SV3_1aParser::Final_constructContext * ctx) { +PythonAPI::evalScript("enterFinal_construct", this, (ParserRuleContext*) ctx); +} + + void exitFinal_construct(SV3_1aParser::Final_constructContext * ctx) { +PythonAPI::evalScript("exitFinal_construct", this, (ParserRuleContext*) ctx); +} + + void enterWait_statement(SV3_1aParser::Wait_statementContext * ctx) { +PythonAPI::evalScript("enterWait_statement", this, (ParserRuleContext*) ctx); +} + + void exitWait_statement(SV3_1aParser::Wait_statementContext * ctx) { +PythonAPI::evalScript("exitWait_statement", this, (ParserRuleContext*) ctx); +} + + void enterEvent_trigger(SV3_1aParser::Event_triggerContext * ctx) { +PythonAPI::evalScript("enterEvent_trigger", this, (ParserRuleContext*) ctx); +} + + void exitEvent_trigger(SV3_1aParser::Event_triggerContext * ctx) { +PythonAPI::evalScript("exitEvent_trigger", this, (ParserRuleContext*) ctx); +} + + void enterDisable_statement(SV3_1aParser::Disable_statementContext * ctx) { +PythonAPI::evalScript("enterDisable_statement", this, (ParserRuleContext*) ctx); +} + + void exitDisable_statement(SV3_1aParser::Disable_statementContext * ctx) { +PythonAPI::evalScript("exitDisable_statement", this, (ParserRuleContext*) ctx); +} + + void enterConditional_statement(SV3_1aParser::Conditional_statementContext * ctx) { +PythonAPI::evalScript("enterConditional_statement", this, (ParserRuleContext*) ctx); +} + + void exitConditional_statement(SV3_1aParser::Conditional_statementContext * ctx) { +PythonAPI::evalScript("exitConditional_statement", this, (ParserRuleContext*) ctx); +} + + void enterUnique_priority(SV3_1aParser::Unique_priorityContext * ctx) { +PythonAPI::evalScript("enterUnique_priority", this, (ParserRuleContext*) ctx); +} + + void exitUnique_priority(SV3_1aParser::Unique_priorityContext * ctx) { +PythonAPI::evalScript("exitUnique_priority", this, (ParserRuleContext*) ctx); +} + + void enterCond_predicate(SV3_1aParser::Cond_predicateContext * ctx) { +PythonAPI::evalScript("enterCond_predicate", this, (ParserRuleContext*) ctx); +} + + void exitCond_predicate(SV3_1aParser::Cond_predicateContext * ctx) { +PythonAPI::evalScript("exitCond_predicate", this, (ParserRuleContext*) ctx); +} + + void enterExpression_or_cond_pattern(SV3_1aParser::Expression_or_cond_patternContext * ctx) { +PythonAPI::evalScript("enterExpression_or_cond_pattern", this, (ParserRuleContext*) ctx); +} + + void exitExpression_or_cond_pattern(SV3_1aParser::Expression_or_cond_patternContext * ctx) { +PythonAPI::evalScript("exitExpression_or_cond_pattern", this, (ParserRuleContext*) ctx); +} + + void enterCase_statement(SV3_1aParser::Case_statementContext * ctx) { +PythonAPI::evalScript("enterCase_statement", this, (ParserRuleContext*) ctx); +} + + void exitCase_statement(SV3_1aParser::Case_statementContext * ctx) { +PythonAPI::evalScript("exitCase_statement", this, (ParserRuleContext*) ctx); +} + + void enterCaseKeyword_Case(SV3_1aParser::CaseKeyword_CaseContext * ctx) { +PythonAPI::evalScript("enterCaseKeyword_Case", this, (ParserRuleContext*) ctx); +} + + void exitCaseKeyword_Case(SV3_1aParser::CaseKeyword_CaseContext * ctx) { +PythonAPI::evalScript("exitCaseKeyword_Case", this, (ParserRuleContext*) ctx); +} + + void enterCaseKeyword_CaseZ(SV3_1aParser::CaseKeyword_CaseZContext * ctx) { +PythonAPI::evalScript("enterCaseKeyword_CaseZ", this, (ParserRuleContext*) ctx); +} + + void exitCaseKeyword_CaseZ(SV3_1aParser::CaseKeyword_CaseZContext * ctx) { +PythonAPI::evalScript("exitCaseKeyword_CaseZ", this, (ParserRuleContext*) ctx); +} + + void enterCaseKeyword_CaseX(SV3_1aParser::CaseKeyword_CaseXContext * ctx) { +PythonAPI::evalScript("enterCaseKeyword_CaseX", this, (ParserRuleContext*) ctx); +} + + void exitCaseKeyword_CaseX(SV3_1aParser::CaseKeyword_CaseXContext * ctx) { +PythonAPI::evalScript("exitCaseKeyword_CaseX", this, (ParserRuleContext*) ctx); +} + + void enterCase_item(SV3_1aParser::Case_itemContext * ctx) { +PythonAPI::evalScript("enterCase_item", this, (ParserRuleContext*) ctx); +} + + void exitCase_item(SV3_1aParser::Case_itemContext * ctx) { +PythonAPI::evalScript("exitCase_item", this, (ParserRuleContext*) ctx); +} + + void enterCase_pattern_item(SV3_1aParser::Case_pattern_itemContext * ctx) { +PythonAPI::evalScript("enterCase_pattern_item", this, (ParserRuleContext*) ctx); +} + + void exitCase_pattern_item(SV3_1aParser::Case_pattern_itemContext * ctx) { +PythonAPI::evalScript("exitCase_pattern_item", this, (ParserRuleContext*) ctx); +} + + void enterCase_inside_item(SV3_1aParser::Case_inside_itemContext * ctx) { +PythonAPI::evalScript("enterCase_inside_item", this, (ParserRuleContext*) ctx); +} + + void exitCase_inside_item(SV3_1aParser::Case_inside_itemContext * ctx) { +PythonAPI::evalScript("exitCase_inside_item", this, (ParserRuleContext*) ctx); +} + + void enterRandcase_statement(SV3_1aParser::Randcase_statementContext * ctx) { +PythonAPI::evalScript("enterRandcase_statement", this, (ParserRuleContext*) ctx); +} + + void exitRandcase_statement(SV3_1aParser::Randcase_statementContext * ctx) { +PythonAPI::evalScript("exitRandcase_statement", this, (ParserRuleContext*) ctx); +} + + void enterRandcase_item(SV3_1aParser::Randcase_itemContext * ctx) { +PythonAPI::evalScript("enterRandcase_item", this, (ParserRuleContext*) ctx); +} + + void exitRandcase_item(SV3_1aParser::Randcase_itemContext * ctx) { +PythonAPI::evalScript("exitRandcase_item", this, (ParserRuleContext*) ctx); +} + + void enterPattern(SV3_1aParser::PatternContext * ctx) { +PythonAPI::evalScript("enterPattern", this, (ParserRuleContext*) ctx); +} + + void exitPattern(SV3_1aParser::PatternContext * ctx) { +PythonAPI::evalScript("exitPattern", this, (ParserRuleContext*) ctx); +} + + void enterAssignment_pattern(SV3_1aParser::Assignment_patternContext * ctx) { +PythonAPI::evalScript("enterAssignment_pattern", this, (ParserRuleContext*) ctx); +} + + void exitAssignment_pattern(SV3_1aParser::Assignment_patternContext * ctx) { +PythonAPI::evalScript("exitAssignment_pattern", this, (ParserRuleContext*) ctx); +} + + void enterStructure_pattern_key(SV3_1aParser::Structure_pattern_keyContext * ctx) { +PythonAPI::evalScript("enterStructure_pattern_key", this, (ParserRuleContext*) ctx); +} + + void exitStructure_pattern_key(SV3_1aParser::Structure_pattern_keyContext * ctx) { +PythonAPI::evalScript("exitStructure_pattern_key", this, (ParserRuleContext*) ctx); +} + + void enterArray_pattern_key(SV3_1aParser::Array_pattern_keyContext * ctx) { +PythonAPI::evalScript("enterArray_pattern_key", this, (ParserRuleContext*) ctx); +} + + void exitArray_pattern_key(SV3_1aParser::Array_pattern_keyContext * ctx) { +PythonAPI::evalScript("exitArray_pattern_key", this, (ParserRuleContext*) ctx); +} + + void enterAssignment_pattern_key(SV3_1aParser::Assignment_pattern_keyContext * ctx) { +PythonAPI::evalScript("enterAssignment_pattern_key", this, (ParserRuleContext*) ctx); +} + + void exitAssignment_pattern_key(SV3_1aParser::Assignment_pattern_keyContext * ctx) { +PythonAPI::evalScript("exitAssignment_pattern_key", this, (ParserRuleContext*) ctx); +} + + void enterAssignment_pattern_expression(SV3_1aParser::Assignment_pattern_expressionContext * ctx) { +PythonAPI::evalScript("enterAssignment_pattern_expression", this, (ParserRuleContext*) ctx); +} + + void exitAssignment_pattern_expression(SV3_1aParser::Assignment_pattern_expressionContext * ctx) { +PythonAPI::evalScript("exitAssignment_pattern_expression", this, (ParserRuleContext*) ctx); +} + + void enterAssignment_pattern_expression_type(SV3_1aParser::Assignment_pattern_expression_typeContext * ctx) { +PythonAPI::evalScript("enterAssignment_pattern_expression_type", this, (ParserRuleContext*) ctx); +} + + void exitAssignment_pattern_expression_type(SV3_1aParser::Assignment_pattern_expression_typeContext * ctx) { +PythonAPI::evalScript("exitAssignment_pattern_expression_type", this, (ParserRuleContext*) ctx); +} + + void enterConstant_assignment_pattern_expression(SV3_1aParser::Constant_assignment_pattern_expressionContext * ctx) { +PythonAPI::evalScript("enterConstant_assignment_pattern_expression", this, (ParserRuleContext*) ctx); +} + + void exitConstant_assignment_pattern_expression(SV3_1aParser::Constant_assignment_pattern_expressionContext * ctx) { +PythonAPI::evalScript("exitConstant_assignment_pattern_expression", this, (ParserRuleContext*) ctx); +} + + void enterAssignment_pattern_net_lvalue(SV3_1aParser::Assignment_pattern_net_lvalueContext * ctx) { +PythonAPI::evalScript("enterAssignment_pattern_net_lvalue", this, (ParserRuleContext*) ctx); +} + + void exitAssignment_pattern_net_lvalue(SV3_1aParser::Assignment_pattern_net_lvalueContext * ctx) { +PythonAPI::evalScript("exitAssignment_pattern_net_lvalue", this, (ParserRuleContext*) ctx); +} + + void enterAssignment_pattern_variable_lvalue(SV3_1aParser::Assignment_pattern_variable_lvalueContext * ctx) { +PythonAPI::evalScript("enterAssignment_pattern_variable_lvalue", this, (ParserRuleContext*) ctx); +} + + void exitAssignment_pattern_variable_lvalue(SV3_1aParser::Assignment_pattern_variable_lvalueContext * ctx) { +PythonAPI::evalScript("exitAssignment_pattern_variable_lvalue", this, (ParserRuleContext*) ctx); +} + + void enterForever_keyword(SV3_1aParser::Forever_keywordContext * ctx) { +PythonAPI::evalScript("enterForever_keyword", this, (ParserRuleContext*) ctx); +} + + void exitForever_keyword(SV3_1aParser::Forever_keywordContext * ctx) { +PythonAPI::evalScript("exitForever_keyword", this, (ParserRuleContext*) ctx); +} + + void enterRepeat_keyword(SV3_1aParser::Repeat_keywordContext * ctx) { +PythonAPI::evalScript("enterRepeat_keyword", this, (ParserRuleContext*) ctx); +} + + void exitRepeat_keyword(SV3_1aParser::Repeat_keywordContext * ctx) { +PythonAPI::evalScript("exitRepeat_keyword", this, (ParserRuleContext*) ctx); +} + + void enterWhile_keyword(SV3_1aParser::While_keywordContext * ctx) { +PythonAPI::evalScript("enterWhile_keyword", this, (ParserRuleContext*) ctx); +} + + void exitWhile_keyword(SV3_1aParser::While_keywordContext * ctx) { +PythonAPI::evalScript("exitWhile_keyword", this, (ParserRuleContext*) ctx); +} + + void enterLoop_statement(SV3_1aParser::Loop_statementContext * ctx) { +PythonAPI::evalScript("enterLoop_statement", this, (ParserRuleContext*) ctx); +} + + void exitLoop_statement(SV3_1aParser::Loop_statementContext * ctx) { +PythonAPI::evalScript("exitLoop_statement", this, (ParserRuleContext*) ctx); +} + + void enterFor_initialization(SV3_1aParser::For_initializationContext * ctx) { +PythonAPI::evalScript("enterFor_initialization", this, (ParserRuleContext*) ctx); +} + + void exitFor_initialization(SV3_1aParser::For_initializationContext * ctx) { +PythonAPI::evalScript("exitFor_initialization", this, (ParserRuleContext*) ctx); +} + + void enterFor_variable_declaration(SV3_1aParser::For_variable_declarationContext * ctx) { +PythonAPI::evalScript("enterFor_variable_declaration", this, (ParserRuleContext*) ctx); +} + + void exitFor_variable_declaration(SV3_1aParser::For_variable_declarationContext * ctx) { +PythonAPI::evalScript("exitFor_variable_declaration", this, (ParserRuleContext*) ctx); +} + + void enterFor_step(SV3_1aParser::For_stepContext * ctx) { +PythonAPI::evalScript("enterFor_step", this, (ParserRuleContext*) ctx); +} + + void exitFor_step(SV3_1aParser::For_stepContext * ctx) { +PythonAPI::evalScript("exitFor_step", this, (ParserRuleContext*) ctx); +} + + void enterFor_step_assignment(SV3_1aParser::For_step_assignmentContext * ctx) { +PythonAPI::evalScript("enterFor_step_assignment", this, (ParserRuleContext*) ctx); +} + + void exitFor_step_assignment(SV3_1aParser::For_step_assignmentContext * ctx) { +PythonAPI::evalScript("exitFor_step_assignment", this, (ParserRuleContext*) ctx); +} + + void enterLoop_variables(SV3_1aParser::Loop_variablesContext * ctx) { +PythonAPI::evalScript("enterLoop_variables", this, (ParserRuleContext*) ctx); +} + + void exitLoop_variables(SV3_1aParser::Loop_variablesContext * ctx) { +PythonAPI::evalScript("exitLoop_variables", this, (ParserRuleContext*) ctx); +} + + void enterSubroutine_call_statement(SV3_1aParser::Subroutine_call_statementContext * ctx) { +PythonAPI::evalScript("enterSubroutine_call_statement", this, (ParserRuleContext*) ctx); +} + + void exitSubroutine_call_statement(SV3_1aParser::Subroutine_call_statementContext * ctx) { +PythonAPI::evalScript("exitSubroutine_call_statement", this, (ParserRuleContext*) ctx); +} + + void enterAssertion_item(SV3_1aParser::Assertion_itemContext * ctx) { +PythonAPI::evalScript("enterAssertion_item", this, (ParserRuleContext*) ctx); +} + + void exitAssertion_item(SV3_1aParser::Assertion_itemContext * ctx) { +PythonAPI::evalScript("exitAssertion_item", this, (ParserRuleContext*) ctx); +} + + void enterDeferred_immediate_assertion_item(SV3_1aParser::Deferred_immediate_assertion_itemContext * ctx) { +PythonAPI::evalScript("enterDeferred_immediate_assertion_item", this, (ParserRuleContext*) ctx); +} + + void exitDeferred_immediate_assertion_item(SV3_1aParser::Deferred_immediate_assertion_itemContext * ctx) { +PythonAPI::evalScript("exitDeferred_immediate_assertion_item", this, (ParserRuleContext*) ctx); +} + + void enterProcedural_assertion_statement(SV3_1aParser::Procedural_assertion_statementContext * ctx) { +PythonAPI::evalScript("enterProcedural_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void exitProcedural_assertion_statement(SV3_1aParser::Procedural_assertion_statementContext * ctx) { +PythonAPI::evalScript("exitProcedural_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void enterImmediate_assertion_statement(SV3_1aParser::Immediate_assertion_statementContext * ctx) { +PythonAPI::evalScript("enterImmediate_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void exitImmediate_assertion_statement(SV3_1aParser::Immediate_assertion_statementContext * ctx) { +PythonAPI::evalScript("exitImmediate_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void enterSimple_immediate_assertion_statement(SV3_1aParser::Simple_immediate_assertion_statementContext * ctx) { +PythonAPI::evalScript("enterSimple_immediate_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void exitSimple_immediate_assertion_statement(SV3_1aParser::Simple_immediate_assertion_statementContext * ctx) { +PythonAPI::evalScript("exitSimple_immediate_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void enterSimple_immediate_assert_statement(SV3_1aParser::Simple_immediate_assert_statementContext * ctx) { +PythonAPI::evalScript("enterSimple_immediate_assert_statement", this, (ParserRuleContext*) ctx); +} + + void exitSimple_immediate_assert_statement(SV3_1aParser::Simple_immediate_assert_statementContext * ctx) { +PythonAPI::evalScript("exitSimple_immediate_assert_statement", this, (ParserRuleContext*) ctx); +} + + void enterSimple_immediate_assume_statement(SV3_1aParser::Simple_immediate_assume_statementContext * ctx) { +PythonAPI::evalScript("enterSimple_immediate_assume_statement", this, (ParserRuleContext*) ctx); +} + + void exitSimple_immediate_assume_statement(SV3_1aParser::Simple_immediate_assume_statementContext * ctx) { +PythonAPI::evalScript("exitSimple_immediate_assume_statement", this, (ParserRuleContext*) ctx); +} + + void enterSimple_immediate_cover_statement(SV3_1aParser::Simple_immediate_cover_statementContext * ctx) { +PythonAPI::evalScript("enterSimple_immediate_cover_statement", this, (ParserRuleContext*) ctx); +} + + void exitSimple_immediate_cover_statement(SV3_1aParser::Simple_immediate_cover_statementContext * ctx) { +PythonAPI::evalScript("exitSimple_immediate_cover_statement", this, (ParserRuleContext*) ctx); +} + + void enterDeferred_immediate_assertion_statement(SV3_1aParser::Deferred_immediate_assertion_statementContext * ctx) { +PythonAPI::evalScript("enterDeferred_immediate_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void exitDeferred_immediate_assertion_statement(SV3_1aParser::Deferred_immediate_assertion_statementContext * ctx) { +PythonAPI::evalScript("exitDeferred_immediate_assertion_statement", this, (ParserRuleContext*) ctx); +} + + void enterDeferred_immediate_assert_statement(SV3_1aParser::Deferred_immediate_assert_statementContext * ctx) { +PythonAPI::evalScript("enterDeferred_immediate_assert_statement", this, (ParserRuleContext*) ctx); +} + + void exitDeferred_immediate_assert_statement(SV3_1aParser::Deferred_immediate_assert_statementContext * ctx) { +PythonAPI::evalScript("exitDeferred_immediate_assert_statement", this, (ParserRuleContext*) ctx); +} + + void enterDeferred_immediate_assume_statement(SV3_1aParser::Deferred_immediate_assume_statementContext * ctx) { +PythonAPI::evalScript("enterDeferred_immediate_assume_statement", this, (ParserRuleContext*) ctx); +} + + void exitDeferred_immediate_assume_statement(SV3_1aParser::Deferred_immediate_assume_statementContext * ctx) { +PythonAPI::evalScript("exitDeferred_immediate_assume_statement", this, (ParserRuleContext*) ctx); +} + + void enterDeferred_immediate_cover_statement(SV3_1aParser::Deferred_immediate_cover_statementContext * ctx) { +PythonAPI::evalScript("enterDeferred_immediate_cover_statement", this, (ParserRuleContext*) ctx); +} + + void exitDeferred_immediate_cover_statement(SV3_1aParser::Deferred_immediate_cover_statementContext * ctx) { +PythonAPI::evalScript("exitDeferred_immediate_cover_statement", this, (ParserRuleContext*) ctx); +} + + void enterEndclocking(SV3_1aParser::EndclockingContext * ctx) { +PythonAPI::evalScript("enterEndclocking", this, (ParserRuleContext*) ctx); +} + + void exitEndclocking(SV3_1aParser::EndclockingContext * ctx) { +PythonAPI::evalScript("exitEndclocking", this, (ParserRuleContext*) ctx); +} + + void enterClocking_declaration(SV3_1aParser::Clocking_declarationContext * ctx) { +PythonAPI::evalScript("enterClocking_declaration", this, (ParserRuleContext*) ctx); +} + + void exitClocking_declaration(SV3_1aParser::Clocking_declarationContext * ctx) { +PythonAPI::evalScript("exitClocking_declaration", this, (ParserRuleContext*) ctx); +} + + void enterClocking_event(SV3_1aParser::Clocking_eventContext * ctx) { +PythonAPI::evalScript("enterClocking_event", this, (ParserRuleContext*) ctx); +} + + void exitClocking_event(SV3_1aParser::Clocking_eventContext * ctx) { +PythonAPI::evalScript("exitClocking_event", this, (ParserRuleContext*) ctx); +} + + void enterClocking_item(SV3_1aParser::Clocking_itemContext * ctx) { +PythonAPI::evalScript("enterClocking_item", this, (ParserRuleContext*) ctx); +} + + void exitClocking_item(SV3_1aParser::Clocking_itemContext * ctx) { +PythonAPI::evalScript("exitClocking_item", this, (ParserRuleContext*) ctx); +} + + void enterDefaultSkew_Intput(SV3_1aParser::DefaultSkew_IntputContext * ctx) { +PythonAPI::evalScript("enterDefaultSkew_Intput", this, (ParserRuleContext*) ctx); +} + + void exitDefaultSkew_Intput(SV3_1aParser::DefaultSkew_IntputContext * ctx) { +PythonAPI::evalScript("exitDefaultSkew_Intput", this, (ParserRuleContext*) ctx); +} + + void enterDefaultSkew_Output(SV3_1aParser::DefaultSkew_OutputContext * ctx) { +PythonAPI::evalScript("enterDefaultSkew_Output", this, (ParserRuleContext*) ctx); +} + + void exitDefaultSkew_Output(SV3_1aParser::DefaultSkew_OutputContext * ctx) { +PythonAPI::evalScript("exitDefaultSkew_Output", this, (ParserRuleContext*) ctx); +} + + void enterDefaultSkew_IntputOutput(SV3_1aParser::DefaultSkew_IntputOutputContext * ctx) { +PythonAPI::evalScript("enterDefaultSkew_IntputOutput", this, (ParserRuleContext*) ctx); +} + + void exitDefaultSkew_IntputOutput(SV3_1aParser::DefaultSkew_IntputOutputContext * ctx) { +PythonAPI::evalScript("exitDefaultSkew_IntputOutput", this, (ParserRuleContext*) ctx); +} + + void enterClockingDir_Input(SV3_1aParser::ClockingDir_InputContext * ctx) { +PythonAPI::evalScript("enterClockingDir_Input", this, (ParserRuleContext*) ctx); +} + + void exitClockingDir_Input(SV3_1aParser::ClockingDir_InputContext * ctx) { +PythonAPI::evalScript("exitClockingDir_Input", this, (ParserRuleContext*) ctx); +} + + void enterClockingDir_Output(SV3_1aParser::ClockingDir_OutputContext * ctx) { +PythonAPI::evalScript("enterClockingDir_Output", this, (ParserRuleContext*) ctx); +} + + void exitClockingDir_Output(SV3_1aParser::ClockingDir_OutputContext * ctx) { +PythonAPI::evalScript("exitClockingDir_Output", this, (ParserRuleContext*) ctx); +} + + void enterClockingDir_InputOutput(SV3_1aParser::ClockingDir_InputOutputContext * ctx) { +PythonAPI::evalScript("enterClockingDir_InputOutput", this, (ParserRuleContext*) ctx); +} + + void exitClockingDir_InputOutput(SV3_1aParser::ClockingDir_InputOutputContext * ctx) { +PythonAPI::evalScript("exitClockingDir_InputOutput", this, (ParserRuleContext*) ctx); +} + + void enterClockingDir_Inout(SV3_1aParser::ClockingDir_InoutContext * ctx) { +PythonAPI::evalScript("enterClockingDir_Inout", this, (ParserRuleContext*) ctx); +} + + void exitClockingDir_Inout(SV3_1aParser::ClockingDir_InoutContext * ctx) { +PythonAPI::evalScript("exitClockingDir_Inout", this, (ParserRuleContext*) ctx); +} + + void enterList_of_clocking_decl_assign(SV3_1aParser::List_of_clocking_decl_assignContext * ctx) { +PythonAPI::evalScript("enterList_of_clocking_decl_assign", this, (ParserRuleContext*) ctx); +} + + void exitList_of_clocking_decl_assign(SV3_1aParser::List_of_clocking_decl_assignContext * ctx) { +PythonAPI::evalScript("exitList_of_clocking_decl_assign", this, (ParserRuleContext*) ctx); +} + + void enterClocking_decl_assign(SV3_1aParser::Clocking_decl_assignContext * ctx) { +PythonAPI::evalScript("enterClocking_decl_assign", this, (ParserRuleContext*) ctx); +} + + void exitClocking_decl_assign(SV3_1aParser::Clocking_decl_assignContext * ctx) { +PythonAPI::evalScript("exitClocking_decl_assign", this, (ParserRuleContext*) ctx); +} + + void enterClocking_skew(SV3_1aParser::Clocking_skewContext * ctx) { +PythonAPI::evalScript("enterClocking_skew", this, (ParserRuleContext*) ctx); +} + + void exitClocking_skew(SV3_1aParser::Clocking_skewContext * ctx) { +PythonAPI::evalScript("exitClocking_skew", this, (ParserRuleContext*) ctx); +} + + void enterEdge_Posedge(SV3_1aParser::Edge_PosedgeContext * ctx) { +PythonAPI::evalScript("enterEdge_Posedge", this, (ParserRuleContext*) ctx); +} + + void exitEdge_Posedge(SV3_1aParser::Edge_PosedgeContext * ctx) { +PythonAPI::evalScript("exitEdge_Posedge", this, (ParserRuleContext*) ctx); +} + + void enterEdge_Negedge(SV3_1aParser::Edge_NegedgeContext * ctx) { +PythonAPI::evalScript("enterEdge_Negedge", this, (ParserRuleContext*) ctx); +} + + void exitEdge_Negedge(SV3_1aParser::Edge_NegedgeContext * ctx) { +PythonAPI::evalScript("exitEdge_Negedge", this, (ParserRuleContext*) ctx); +} + + void enterEdge_Edge(SV3_1aParser::Edge_EdgeContext * ctx) { +PythonAPI::evalScript("enterEdge_Edge", this, (ParserRuleContext*) ctx); +} + + void exitEdge_Edge(SV3_1aParser::Edge_EdgeContext * ctx) { +PythonAPI::evalScript("exitEdge_Edge", this, (ParserRuleContext*) ctx); +} + + void enterClocking_drive(SV3_1aParser::Clocking_driveContext * ctx) { +PythonAPI::evalScript("enterClocking_drive", this, (ParserRuleContext*) ctx); +} + + void exitClocking_drive(SV3_1aParser::Clocking_driveContext * ctx) { +PythonAPI::evalScript("exitClocking_drive", this, (ParserRuleContext*) ctx); +} + + void enterCycle_delay(SV3_1aParser::Cycle_delayContext * ctx) { +PythonAPI::evalScript("enterCycle_delay", this, (ParserRuleContext*) ctx); +} + + void exitCycle_delay(SV3_1aParser::Cycle_delayContext * ctx) { +PythonAPI::evalScript("exitCycle_delay", this, (ParserRuleContext*) ctx); +} + + void enterClockvar(SV3_1aParser::ClockvarContext * ctx) { +PythonAPI::evalScript("enterClockvar", this, (ParserRuleContext*) ctx); +} + + void exitClockvar(SV3_1aParser::ClockvarContext * ctx) { +PythonAPI::evalScript("exitClockvar", this, (ParserRuleContext*) ctx); +} + + void enterClockvar_expression(SV3_1aParser::Clockvar_expressionContext * ctx) { +PythonAPI::evalScript("enterClockvar_expression", this, (ParserRuleContext*) ctx); +} + + void exitClockvar_expression(SV3_1aParser::Clockvar_expressionContext * ctx) { +PythonAPI::evalScript("exitClockvar_expression", this, (ParserRuleContext*) ctx); +} + + void enterRandsequence_statement(SV3_1aParser::Randsequence_statementContext * ctx) { +PythonAPI::evalScript("enterRandsequence_statement", this, (ParserRuleContext*) ctx); +} + + void exitRandsequence_statement(SV3_1aParser::Randsequence_statementContext * ctx) { +PythonAPI::evalScript("exitRandsequence_statement", this, (ParserRuleContext*) ctx); +} + + void enterProduction(SV3_1aParser::ProductionContext * ctx) { +PythonAPI::evalScript("enterProduction", this, (ParserRuleContext*) ctx); +} + + void exitProduction(SV3_1aParser::ProductionContext * ctx) { +PythonAPI::evalScript("exitProduction", this, (ParserRuleContext*) ctx); +} + + void enterRs_rule(SV3_1aParser::Rs_ruleContext * ctx) { +PythonAPI::evalScript("enterRs_rule", this, (ParserRuleContext*) ctx); +} + + void exitRs_rule(SV3_1aParser::Rs_ruleContext * ctx) { +PythonAPI::evalScript("exitRs_rule", this, (ParserRuleContext*) ctx); +} + + void enterRs_production_list(SV3_1aParser::Rs_production_listContext * ctx) { +PythonAPI::evalScript("enterRs_production_list", this, (ParserRuleContext*) ctx); +} + + void exitRs_production_list(SV3_1aParser::Rs_production_listContext * ctx) { +PythonAPI::evalScript("exitRs_production_list", this, (ParserRuleContext*) ctx); +} + + void enterRs_code_block(SV3_1aParser::Rs_code_blockContext * ctx) { +PythonAPI::evalScript("enterRs_code_block", this, (ParserRuleContext*) ctx); +} + + void exitRs_code_block(SV3_1aParser::Rs_code_blockContext * ctx) { +PythonAPI::evalScript("exitRs_code_block", this, (ParserRuleContext*) ctx); +} + + void enterRs_prod(SV3_1aParser::Rs_prodContext * ctx) { +PythonAPI::evalScript("enterRs_prod", this, (ParserRuleContext*) ctx); +} + + void exitRs_prod(SV3_1aParser::Rs_prodContext * ctx) { +PythonAPI::evalScript("exitRs_prod", this, (ParserRuleContext*) ctx); +} + + void enterProduction_item(SV3_1aParser::Production_itemContext * ctx) { +PythonAPI::evalScript("enterProduction_item", this, (ParserRuleContext*) ctx); +} + + void exitProduction_item(SV3_1aParser::Production_itemContext * ctx) { +PythonAPI::evalScript("exitProduction_item", this, (ParserRuleContext*) ctx); +} + + void enterRs_if_else(SV3_1aParser::Rs_if_elseContext * ctx) { +PythonAPI::evalScript("enterRs_if_else", this, (ParserRuleContext*) ctx); +} + + void exitRs_if_else(SV3_1aParser::Rs_if_elseContext * ctx) { +PythonAPI::evalScript("exitRs_if_else", this, (ParserRuleContext*) ctx); +} + + void enterRs_repeat(SV3_1aParser::Rs_repeatContext * ctx) { +PythonAPI::evalScript("enterRs_repeat", this, (ParserRuleContext*) ctx); +} + + void exitRs_repeat(SV3_1aParser::Rs_repeatContext * ctx) { +PythonAPI::evalScript("exitRs_repeat", this, (ParserRuleContext*) ctx); +} + + void enterRs_case(SV3_1aParser::Rs_caseContext * ctx) { +PythonAPI::evalScript("enterRs_case", this, (ParserRuleContext*) ctx); +} + + void exitRs_case(SV3_1aParser::Rs_caseContext * ctx) { +PythonAPI::evalScript("exitRs_case", this, (ParserRuleContext*) ctx); +} + + void enterRs_case_item(SV3_1aParser::Rs_case_itemContext * ctx) { +PythonAPI::evalScript("enterRs_case_item", this, (ParserRuleContext*) ctx); +} + + void exitRs_case_item(SV3_1aParser::Rs_case_itemContext * ctx) { +PythonAPI::evalScript("exitRs_case_item", this, (ParserRuleContext*) ctx); +} + + void enterEndspecify(SV3_1aParser::EndspecifyContext * ctx) { +PythonAPI::evalScript("enterEndspecify", this, (ParserRuleContext*) ctx); +} + + void exitEndspecify(SV3_1aParser::EndspecifyContext * ctx) { +PythonAPI::evalScript("exitEndspecify", this, (ParserRuleContext*) ctx); +} + + void enterSpecify_block(SV3_1aParser::Specify_blockContext * ctx) { +PythonAPI::evalScript("enterSpecify_block", this, (ParserRuleContext*) ctx); +} + + void exitSpecify_block(SV3_1aParser::Specify_blockContext * ctx) { +PythonAPI::evalScript("exitSpecify_block", this, (ParserRuleContext*) ctx); +} + + void enterSpecify_item(SV3_1aParser::Specify_itemContext * ctx) { +PythonAPI::evalScript("enterSpecify_item", this, (ParserRuleContext*) ctx); +} + + void exitSpecify_item(SV3_1aParser::Specify_itemContext * ctx) { +PythonAPI::evalScript("exitSpecify_item", this, (ParserRuleContext*) ctx); +} + + void enterPulsestyle_declaration(SV3_1aParser::Pulsestyle_declarationContext * ctx) { +PythonAPI::evalScript("enterPulsestyle_declaration", this, (ParserRuleContext*) ctx); +} + + void exitPulsestyle_declaration(SV3_1aParser::Pulsestyle_declarationContext * ctx) { +PythonAPI::evalScript("exitPulsestyle_declaration", this, (ParserRuleContext*) ctx); +} + + void enterShowcancelled_declaration(SV3_1aParser::Showcancelled_declarationContext * ctx) { +PythonAPI::evalScript("enterShowcancelled_declaration", this, (ParserRuleContext*) ctx); +} + + void exitShowcancelled_declaration(SV3_1aParser::Showcancelled_declarationContext * ctx) { +PythonAPI::evalScript("exitShowcancelled_declaration", this, (ParserRuleContext*) ctx); +} + + void enterPath_declaration(SV3_1aParser::Path_declarationContext * ctx) { +PythonAPI::evalScript("enterPath_declaration", this, (ParserRuleContext*) ctx); +} + + void exitPath_declaration(SV3_1aParser::Path_declarationContext * ctx) { +PythonAPI::evalScript("exitPath_declaration", this, (ParserRuleContext*) ctx); +} + + void enterSimple_path_declaration(SV3_1aParser::Simple_path_declarationContext * ctx) { +PythonAPI::evalScript("enterSimple_path_declaration", this, (ParserRuleContext*) ctx); +} + + void exitSimple_path_declaration(SV3_1aParser::Simple_path_declarationContext * ctx) { +PythonAPI::evalScript("exitSimple_path_declaration", this, (ParserRuleContext*) ctx); +} + + void enterParallel_path_description(SV3_1aParser::Parallel_path_descriptionContext * ctx) { +PythonAPI::evalScript("enterParallel_path_description", this, (ParserRuleContext*) ctx); +} + + void exitParallel_path_description(SV3_1aParser::Parallel_path_descriptionContext * ctx) { +PythonAPI::evalScript("exitParallel_path_description", this, (ParserRuleContext*) ctx); +} + + void enterFull_path_description(SV3_1aParser::Full_path_descriptionContext * ctx) { +PythonAPI::evalScript("enterFull_path_description", this, (ParserRuleContext*) ctx); +} + + void exitFull_path_description(SV3_1aParser::Full_path_descriptionContext * ctx) { +PythonAPI::evalScript("exitFull_path_description", this, (ParserRuleContext*) ctx); +} + + void enterList_of_path_inputs(SV3_1aParser::List_of_path_inputsContext * ctx) { +PythonAPI::evalScript("enterList_of_path_inputs", this, (ParserRuleContext*) ctx); +} + + void exitList_of_path_inputs(SV3_1aParser::List_of_path_inputsContext * ctx) { +PythonAPI::evalScript("exitList_of_path_inputs", this, (ParserRuleContext*) ctx); +} + + void enterList_of_path_outputs(SV3_1aParser::List_of_path_outputsContext * ctx) { +PythonAPI::evalScript("enterList_of_path_outputs", this, (ParserRuleContext*) ctx); +} + + void exitList_of_path_outputs(SV3_1aParser::List_of_path_outputsContext * ctx) { +PythonAPI::evalScript("exitList_of_path_outputs", this, (ParserRuleContext*) ctx); +} + + void enterSpecify_input_terminal_descriptor(SV3_1aParser::Specify_input_terminal_descriptorContext * ctx) { +PythonAPI::evalScript("enterSpecify_input_terminal_descriptor", this, (ParserRuleContext*) ctx); +} + + void exitSpecify_input_terminal_descriptor(SV3_1aParser::Specify_input_terminal_descriptorContext * ctx) { +PythonAPI::evalScript("exitSpecify_input_terminal_descriptor", this, (ParserRuleContext*) ctx); +} + + void enterSpecify_output_terminal_descriptor(SV3_1aParser::Specify_output_terminal_descriptorContext * ctx) { +PythonAPI::evalScript("enterSpecify_output_terminal_descriptor", this, (ParserRuleContext*) ctx); +} + + void exitSpecify_output_terminal_descriptor(SV3_1aParser::Specify_output_terminal_descriptorContext * ctx) { +PythonAPI::evalScript("exitSpecify_output_terminal_descriptor", this, (ParserRuleContext*) ctx); +} + + void enterPath_delay_value(SV3_1aParser::Path_delay_valueContext * ctx) { +PythonAPI::evalScript("enterPath_delay_value", this, (ParserRuleContext*) ctx); +} + + void exitPath_delay_value(SV3_1aParser::Path_delay_valueContext * ctx) { +PythonAPI::evalScript("exitPath_delay_value", this, (ParserRuleContext*) ctx); +} + + void enterList_of_path_delay_expressions(SV3_1aParser::List_of_path_delay_expressionsContext * ctx) { +PythonAPI::evalScript("enterList_of_path_delay_expressions", this, (ParserRuleContext*) ctx); +} + + void exitList_of_path_delay_expressions(SV3_1aParser::List_of_path_delay_expressionsContext * ctx) { +PythonAPI::evalScript("exitList_of_path_delay_expressions", this, (ParserRuleContext*) ctx); +} + + void enterT_path_delay_expression(SV3_1aParser::T_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterT_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitT_path_delay_expression(SV3_1aParser::T_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitT_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterTrise_path_delay_expression(SV3_1aParser::Trise_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterTrise_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitTrise_path_delay_expression(SV3_1aParser::Trise_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitTrise_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterTfall_path_delay_expression(SV3_1aParser::Tfall_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterTfall_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitTfall_path_delay_expression(SV3_1aParser::Tfall_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitTfall_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterTz_path_delay_expression(SV3_1aParser::Tz_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterTz_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitTz_path_delay_expression(SV3_1aParser::Tz_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitTz_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterT01_path_delay_expression(SV3_1aParser::T01_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterT01_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitT01_path_delay_expression(SV3_1aParser::T01_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitT01_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterT10_path_delay_expression(SV3_1aParser::T10_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterT10_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitT10_path_delay_expression(SV3_1aParser::T10_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitT10_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterT0z_path_delay_expression(SV3_1aParser::T0z_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterT0z_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitT0z_path_delay_expression(SV3_1aParser::T0z_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitT0z_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterTz1_path_delay_expression(SV3_1aParser::Tz1_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterTz1_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitTz1_path_delay_expression(SV3_1aParser::Tz1_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitTz1_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterT1z_path_delay_expression(SV3_1aParser::T1z_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterT1z_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitT1z_path_delay_expression(SV3_1aParser::T1z_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitT1z_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterTz0_path_delay_expression(SV3_1aParser::Tz0_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterTz0_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitTz0_path_delay_expression(SV3_1aParser::Tz0_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitTz0_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterT0x_path_delay_expression(SV3_1aParser::T0x_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterT0x_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitT0x_path_delay_expression(SV3_1aParser::T0x_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitT0x_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterTx1_path_delay_expression(SV3_1aParser::Tx1_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterTx1_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitTx1_path_delay_expression(SV3_1aParser::Tx1_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitTx1_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterT1x_path_delay_expression(SV3_1aParser::T1x_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterT1x_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitT1x_path_delay_expression(SV3_1aParser::T1x_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitT1x_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterTx0_path_delay_expression(SV3_1aParser::Tx0_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterTx0_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitTx0_path_delay_expression(SV3_1aParser::Tx0_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitTx0_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterTxz_path_delay_expression(SV3_1aParser::Txz_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterTxz_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitTxz_path_delay_expression(SV3_1aParser::Txz_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitTxz_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterTzx_path_delay_expression(SV3_1aParser::Tzx_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterTzx_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitTzx_path_delay_expression(SV3_1aParser::Tzx_path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitTzx_path_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterPath_delay_expression(SV3_1aParser::Path_delay_expressionContext * ctx) { +PythonAPI::evalScript("enterPath_delay_expression", this, (ParserRuleContext*) ctx); +} + + void exitPath_delay_expression(SV3_1aParser::Path_delay_expressionContext * ctx) { +PythonAPI::evalScript("exitPath_delay_expression", this, (ParserRuleContext*) ctx); +} + + void enterEdge_sensitive_path_declaration(SV3_1aParser::Edge_sensitive_path_declarationContext * ctx) { +PythonAPI::evalScript("enterEdge_sensitive_path_declaration", this, (ParserRuleContext*) ctx); +} + + void exitEdge_sensitive_path_declaration(SV3_1aParser::Edge_sensitive_path_declarationContext * ctx) { +PythonAPI::evalScript("exitEdge_sensitive_path_declaration", this, (ParserRuleContext*) ctx); +} + + void enterParallel_edge_sensitive_path_description(SV3_1aParser::Parallel_edge_sensitive_path_descriptionContext * ctx) { +PythonAPI::evalScript("enterParallel_edge_sensitive_path_description", this, (ParserRuleContext*) ctx); +} + + void exitParallel_edge_sensitive_path_description(SV3_1aParser::Parallel_edge_sensitive_path_descriptionContext * ctx) { +PythonAPI::evalScript("exitParallel_edge_sensitive_path_description", this, (ParserRuleContext*) ctx); +} + + void enterFull_edge_sensitive_path_description(SV3_1aParser::Full_edge_sensitive_path_descriptionContext * ctx) { +PythonAPI::evalScript("enterFull_edge_sensitive_path_description", this, (ParserRuleContext*) ctx); +} + + void exitFull_edge_sensitive_path_description(SV3_1aParser::Full_edge_sensitive_path_descriptionContext * ctx) { +PythonAPI::evalScript("exitFull_edge_sensitive_path_description", this, (ParserRuleContext*) ctx); +} + + void enterState_dependent_path_declaration(SV3_1aParser::State_dependent_path_declarationContext * ctx) { +PythonAPI::evalScript("enterState_dependent_path_declaration", this, (ParserRuleContext*) ctx); +} + + void exitState_dependent_path_declaration(SV3_1aParser::State_dependent_path_declarationContext * ctx) { +PythonAPI::evalScript("exitState_dependent_path_declaration", this, (ParserRuleContext*) ctx); +} + + void enterSystem_timing_check(SV3_1aParser::System_timing_checkContext * ctx) { +PythonAPI::evalScript("enterSystem_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitSystem_timing_check(SV3_1aParser::System_timing_checkContext * ctx) { +PythonAPI::evalScript("exitSystem_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_setup_timing_check(SV3_1aParser::Dollar_setup_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_setup_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_setup_timing_check(SV3_1aParser::Dollar_setup_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_setup_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_hold_timing_check(SV3_1aParser::Dollar_hold_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_hold_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_hold_timing_check(SV3_1aParser::Dollar_hold_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_hold_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_setuphold_timing_check(SV3_1aParser::Dollar_setuphold_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_setuphold_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_setuphold_timing_check(SV3_1aParser::Dollar_setuphold_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_setuphold_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_recovery_timing_check(SV3_1aParser::Dollar_recovery_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_recovery_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_recovery_timing_check(SV3_1aParser::Dollar_recovery_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_recovery_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_removal_timing_check(SV3_1aParser::Dollar_removal_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_removal_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_removal_timing_check(SV3_1aParser::Dollar_removal_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_removal_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_recrem_timing_check(SV3_1aParser::Dollar_recrem_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_recrem_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_recrem_timing_check(SV3_1aParser::Dollar_recrem_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_recrem_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_skew_timing_check(SV3_1aParser::Dollar_skew_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_skew_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_skew_timing_check(SV3_1aParser::Dollar_skew_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_skew_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_timeskew_timing_check(SV3_1aParser::Dollar_timeskew_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_timeskew_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_timeskew_timing_check(SV3_1aParser::Dollar_timeskew_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_timeskew_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_fullskew_timing_check(SV3_1aParser::Dollar_fullskew_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_fullskew_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_fullskew_timing_check(SV3_1aParser::Dollar_fullskew_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_fullskew_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_period_timing_check(SV3_1aParser::Dollar_period_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_period_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_period_timing_check(SV3_1aParser::Dollar_period_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_period_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_width_timing_check(SV3_1aParser::Dollar_width_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_width_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_width_timing_check(SV3_1aParser::Dollar_width_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_width_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDollar_nochange_timing_check(SV3_1aParser::Dollar_nochange_timing_checkContext * ctx) { +PythonAPI::evalScript("enterDollar_nochange_timing_check", this, (ParserRuleContext*) ctx); +} + + void exitDollar_nochange_timing_check(SV3_1aParser::Dollar_nochange_timing_checkContext * ctx) { +PythonAPI::evalScript("exitDollar_nochange_timing_check", this, (ParserRuleContext*) ctx); +} + + void enterDelayed_data(SV3_1aParser::Delayed_dataContext * ctx) { +PythonAPI::evalScript("enterDelayed_data", this, (ParserRuleContext*) ctx); +} + + void exitDelayed_data(SV3_1aParser::Delayed_dataContext * ctx) { +PythonAPI::evalScript("exitDelayed_data", this, (ParserRuleContext*) ctx); +} + + void enterDelayed_reference(SV3_1aParser::Delayed_referenceContext * ctx) { +PythonAPI::evalScript("enterDelayed_reference", this, (ParserRuleContext*) ctx); +} + + void exitDelayed_reference(SV3_1aParser::Delayed_referenceContext * ctx) { +PythonAPI::evalScript("exitDelayed_reference", this, (ParserRuleContext*) ctx); +} + + void enterEnd_edge_offset(SV3_1aParser::End_edge_offsetContext * ctx) { +PythonAPI::evalScript("enterEnd_edge_offset", this, (ParserRuleContext*) ctx); +} + + void exitEnd_edge_offset(SV3_1aParser::End_edge_offsetContext * ctx) { +PythonAPI::evalScript("exitEnd_edge_offset", this, (ParserRuleContext*) ctx); +} + + void enterEvent_based_flag(SV3_1aParser::Event_based_flagContext * ctx) { +PythonAPI::evalScript("enterEvent_based_flag", this, (ParserRuleContext*) ctx); +} + + void exitEvent_based_flag(SV3_1aParser::Event_based_flagContext * ctx) { +PythonAPI::evalScript("exitEvent_based_flag", this, (ParserRuleContext*) ctx); +} + + void enterNotifier(SV3_1aParser::NotifierContext * ctx) { +PythonAPI::evalScript("enterNotifier", this, (ParserRuleContext*) ctx); +} + + void exitNotifier(SV3_1aParser::NotifierContext * ctx) { +PythonAPI::evalScript("exitNotifier", this, (ParserRuleContext*) ctx); +} + + void enterReference_event(SV3_1aParser::Reference_eventContext * ctx) { +PythonAPI::evalScript("enterReference_event", this, (ParserRuleContext*) ctx); +} + + void exitReference_event(SV3_1aParser::Reference_eventContext * ctx) { +PythonAPI::evalScript("exitReference_event", this, (ParserRuleContext*) ctx); +} + + void enterRemain_active_flag(SV3_1aParser::Remain_active_flagContext * ctx) { +PythonAPI::evalScript("enterRemain_active_flag", this, (ParserRuleContext*) ctx); +} + + void exitRemain_active_flag(SV3_1aParser::Remain_active_flagContext * ctx) { +PythonAPI::evalScript("exitRemain_active_flag", this, (ParserRuleContext*) ctx); +} + + void enterStamptime_condition(SV3_1aParser::Stamptime_conditionContext * ctx) { +PythonAPI::evalScript("enterStamptime_condition", this, (ParserRuleContext*) ctx); +} + + void exitStamptime_condition(SV3_1aParser::Stamptime_conditionContext * ctx) { +PythonAPI::evalScript("exitStamptime_condition", this, (ParserRuleContext*) ctx); +} + + void enterStart_edge_offset(SV3_1aParser::Start_edge_offsetContext * ctx) { +PythonAPI::evalScript("enterStart_edge_offset", this, (ParserRuleContext*) ctx); +} + + void exitStart_edge_offset(SV3_1aParser::Start_edge_offsetContext * ctx) { +PythonAPI::evalScript("exitStart_edge_offset", this, (ParserRuleContext*) ctx); +} + + void enterThreshold(SV3_1aParser::ThresholdContext * ctx) { +PythonAPI::evalScript("enterThreshold", this, (ParserRuleContext*) ctx); +} + + void exitThreshold(SV3_1aParser::ThresholdContext * ctx) { +PythonAPI::evalScript("exitThreshold", this, (ParserRuleContext*) ctx); +} + + void enterTiming_check_limit(SV3_1aParser::Timing_check_limitContext * ctx) { +PythonAPI::evalScript("enterTiming_check_limit", this, (ParserRuleContext*) ctx); +} + + void exitTiming_check_limit(SV3_1aParser::Timing_check_limitContext * ctx) { +PythonAPI::evalScript("exitTiming_check_limit", this, (ParserRuleContext*) ctx); +} + + void enterTiming_check_event(SV3_1aParser::Timing_check_eventContext * ctx) { +PythonAPI::evalScript("enterTiming_check_event", this, (ParserRuleContext*) ctx); +} + + void exitTiming_check_event(SV3_1aParser::Timing_check_eventContext * ctx) { +PythonAPI::evalScript("exitTiming_check_event", this, (ParserRuleContext*) ctx); +} + + void enterControlled_timing_check_event(SV3_1aParser::Controlled_timing_check_eventContext * ctx) { +PythonAPI::evalScript("enterControlled_timing_check_event", this, (ParserRuleContext*) ctx); +} + + void exitControlled_timing_check_event(SV3_1aParser::Controlled_timing_check_eventContext * ctx) { +PythonAPI::evalScript("exitControlled_timing_check_event", this, (ParserRuleContext*) ctx); +} + + void enterTimingCheckEventControl_Posedge(SV3_1aParser::TimingCheckEventControl_PosedgeContext * ctx) { +PythonAPI::evalScript("enterTimingCheckEventControl_Posedge", this, (ParserRuleContext*) ctx); +} + + void exitTimingCheckEventControl_Posedge(SV3_1aParser::TimingCheckEventControl_PosedgeContext * ctx) { +PythonAPI::evalScript("exitTimingCheckEventControl_Posedge", this, (ParserRuleContext*) ctx); +} + + void enterTimingCheckEventControl_Negedge(SV3_1aParser::TimingCheckEventControl_NegedgeContext * ctx) { +PythonAPI::evalScript("enterTimingCheckEventControl_Negedge", this, (ParserRuleContext*) ctx); +} + + void exitTimingCheckEventControl_Negedge(SV3_1aParser::TimingCheckEventControl_NegedgeContext * ctx) { +PythonAPI::evalScript("exitTimingCheckEventControl_Negedge", this, (ParserRuleContext*) ctx); +} + + void enterTimingCheckEventControl_Edge(SV3_1aParser::TimingCheckEventControl_EdgeContext * ctx) { +PythonAPI::evalScript("enterTimingCheckEventControl_Edge", this, (ParserRuleContext*) ctx); +} + + void exitTimingCheckEventControl_Edge(SV3_1aParser::TimingCheckEventControl_EdgeContext * ctx) { +PythonAPI::evalScript("exitTimingCheckEventControl_Edge", this, (ParserRuleContext*) ctx); +} + + void enterSpecify_terminal_descriptor(SV3_1aParser::Specify_terminal_descriptorContext * ctx) { +PythonAPI::evalScript("enterSpecify_terminal_descriptor", this, (ParserRuleContext*) ctx); +} + + void exitSpecify_terminal_descriptor(SV3_1aParser::Specify_terminal_descriptorContext * ctx) { +PythonAPI::evalScript("exitSpecify_terminal_descriptor", this, (ParserRuleContext*) ctx); +} + + void enterEdge_control_specifier(SV3_1aParser::Edge_control_specifierContext * ctx) { +PythonAPI::evalScript("enterEdge_control_specifier", this, (ParserRuleContext*) ctx); +} + + void exitEdge_control_specifier(SV3_1aParser::Edge_control_specifierContext * ctx) { +PythonAPI::evalScript("exitEdge_control_specifier", this, (ParserRuleContext*) ctx); +} + + void enterEdge_descriptor(SV3_1aParser::Edge_descriptorContext * ctx) { +PythonAPI::evalScript("enterEdge_descriptor", this, (ParserRuleContext*) ctx); +} + + void exitEdge_descriptor(SV3_1aParser::Edge_descriptorContext * ctx) { +PythonAPI::evalScript("exitEdge_descriptor", this, (ParserRuleContext*) ctx); +} + + void enterTiming_check_condition(SV3_1aParser::Timing_check_conditionContext * ctx) { +PythonAPI::evalScript("enterTiming_check_condition", this, (ParserRuleContext*) ctx); +} + + void exitTiming_check_condition(SV3_1aParser::Timing_check_conditionContext * ctx) { +PythonAPI::evalScript("exitTiming_check_condition", this, (ParserRuleContext*) ctx); +} + + void enterScalar_timing_check_condition(SV3_1aParser::Scalar_timing_check_conditionContext * ctx) { +PythonAPI::evalScript("enterScalar_timing_check_condition", this, (ParserRuleContext*) ctx); +} + + void exitScalar_timing_check_condition(SV3_1aParser::Scalar_timing_check_conditionContext * ctx) { +PythonAPI::evalScript("exitScalar_timing_check_condition", this, (ParserRuleContext*) ctx); +} + + void enterScalar_1Tickb0(SV3_1aParser::Scalar_1Tickb0Context * ctx) { +PythonAPI::evalScript("enterScalar_1Tickb0", this, (ParserRuleContext*) ctx); +} + + void exitScalar_1Tickb0(SV3_1aParser::Scalar_1Tickb0Context * ctx) { +PythonAPI::evalScript("exitScalar_1Tickb0", this, (ParserRuleContext*) ctx); +} + + void enterScalar_1Tickb1(SV3_1aParser::Scalar_1Tickb1Context * ctx) { +PythonAPI::evalScript("enterScalar_1Tickb1", this, (ParserRuleContext*) ctx); +} + + void exitScalar_1Tickb1(SV3_1aParser::Scalar_1Tickb1Context * ctx) { +PythonAPI::evalScript("exitScalar_1Tickb1", this, (ParserRuleContext*) ctx); +} + + void enterScalar_1TickB0(SV3_1aParser::Scalar_1TickB0Context * ctx) { +PythonAPI::evalScript("enterScalar_1TickB0", this, (ParserRuleContext*) ctx); +} + + void exitScalar_1TickB0(SV3_1aParser::Scalar_1TickB0Context * ctx) { +PythonAPI::evalScript("exitScalar_1TickB0", this, (ParserRuleContext*) ctx); +} + + void enterScalar_1TickB1(SV3_1aParser::Scalar_1TickB1Context * ctx) { +PythonAPI::evalScript("enterScalar_1TickB1", this, (ParserRuleContext*) ctx); +} + + void exitScalar_1TickB1(SV3_1aParser::Scalar_1TickB1Context * ctx) { +PythonAPI::evalScript("exitScalar_1TickB1", this, (ParserRuleContext*) ctx); +} + + void enterScalar_Tickb0(SV3_1aParser::Scalar_Tickb0Context * ctx) { +PythonAPI::evalScript("enterScalar_Tickb0", this, (ParserRuleContext*) ctx); +} + + void exitScalar_Tickb0(SV3_1aParser::Scalar_Tickb0Context * ctx) { +PythonAPI::evalScript("exitScalar_Tickb0", this, (ParserRuleContext*) ctx); +} + + void enterScalar_Tickb1(SV3_1aParser::Scalar_Tickb1Context * ctx) { +PythonAPI::evalScript("enterScalar_Tickb1", this, (ParserRuleContext*) ctx); +} + + void exitScalar_Tickb1(SV3_1aParser::Scalar_Tickb1Context * ctx) { +PythonAPI::evalScript("exitScalar_Tickb1", this, (ParserRuleContext*) ctx); +} + + void enterScalar_TickB0(SV3_1aParser::Scalar_TickB0Context * ctx) { +PythonAPI::evalScript("enterScalar_TickB0", this, (ParserRuleContext*) ctx); +} + + void exitScalar_TickB0(SV3_1aParser::Scalar_TickB0Context * ctx) { +PythonAPI::evalScript("exitScalar_TickB0", this, (ParserRuleContext*) ctx); +} + + void enterScalar_TickB1(SV3_1aParser::Scalar_TickB1Context * ctx) { +PythonAPI::evalScript("enterScalar_TickB1", this, (ParserRuleContext*) ctx); +} + + void exitScalar_TickB1(SV3_1aParser::Scalar_TickB1Context * ctx) { +PythonAPI::evalScript("exitScalar_TickB1", this, (ParserRuleContext*) ctx); +} + + void enterScalar_Integral(SV3_1aParser::Scalar_IntegralContext * ctx) { +PythonAPI::evalScript("enterScalar_Integral", this, (ParserRuleContext*) ctx); +} + + void exitScalar_Integral(SV3_1aParser::Scalar_IntegralContext * ctx) { +PythonAPI::evalScript("exitScalar_Integral", this, (ParserRuleContext*) ctx); +} + + void enterConcatenation(SV3_1aParser::ConcatenationContext * ctx) { +PythonAPI::evalScript("enterConcatenation", this, (ParserRuleContext*) ctx); +} + + void exitConcatenation(SV3_1aParser::ConcatenationContext * ctx) { +PythonAPI::evalScript("exitConcatenation", this, (ParserRuleContext*) ctx); +} + + void enterConstant_concatenation(SV3_1aParser::Constant_concatenationContext * ctx) { +PythonAPI::evalScript("enterConstant_concatenation", this, (ParserRuleContext*) ctx); +} + + void exitConstant_concatenation(SV3_1aParser::Constant_concatenationContext * ctx) { +PythonAPI::evalScript("exitConstant_concatenation", this, (ParserRuleContext*) ctx); +} + + void enterArray_member_label(SV3_1aParser::Array_member_labelContext * ctx) { +PythonAPI::evalScript("enterArray_member_label", this, (ParserRuleContext*) ctx); +} + + void exitArray_member_label(SV3_1aParser::Array_member_labelContext * ctx) { +PythonAPI::evalScript("exitArray_member_label", this, (ParserRuleContext*) ctx); +} + + void enterConstant_multiple_concatenation(SV3_1aParser::Constant_multiple_concatenationContext * ctx) { +PythonAPI::evalScript("enterConstant_multiple_concatenation", this, (ParserRuleContext*) ctx); +} + + void exitConstant_multiple_concatenation(SV3_1aParser::Constant_multiple_concatenationContext * ctx) { +PythonAPI::evalScript("exitConstant_multiple_concatenation", this, (ParserRuleContext*) ctx); +} + + void enterModule_path_concatenation(SV3_1aParser::Module_path_concatenationContext * ctx) { +PythonAPI::evalScript("enterModule_path_concatenation", this, (ParserRuleContext*) ctx); +} + + void exitModule_path_concatenation(SV3_1aParser::Module_path_concatenationContext * ctx) { +PythonAPI::evalScript("exitModule_path_concatenation", this, (ParserRuleContext*) ctx); +} + + void enterModule_path_multiple_concatenation(SV3_1aParser::Module_path_multiple_concatenationContext * ctx) { +PythonAPI::evalScript("enterModule_path_multiple_concatenation", this, (ParserRuleContext*) ctx); +} + + void exitModule_path_multiple_concatenation(SV3_1aParser::Module_path_multiple_concatenationContext * ctx) { +PythonAPI::evalScript("exitModule_path_multiple_concatenation", this, (ParserRuleContext*) ctx); +} + + void enterMultiple_concatenation(SV3_1aParser::Multiple_concatenationContext * ctx) { +PythonAPI::evalScript("enterMultiple_concatenation", this, (ParserRuleContext*) ctx); +} + + void exitMultiple_concatenation(SV3_1aParser::Multiple_concatenationContext * ctx) { +PythonAPI::evalScript("exitMultiple_concatenation", this, (ParserRuleContext*) ctx); +} + + void enterStreaming_concatenation(SV3_1aParser::Streaming_concatenationContext * ctx) { +PythonAPI::evalScript("enterStreaming_concatenation", this, (ParserRuleContext*) ctx); +} + + void exitStreaming_concatenation(SV3_1aParser::Streaming_concatenationContext * ctx) { +PythonAPI::evalScript("exitStreaming_concatenation", this, (ParserRuleContext*) ctx); +} + + void enterStream_operator(SV3_1aParser::Stream_operatorContext * ctx) { +PythonAPI::evalScript("enterStream_operator", this, (ParserRuleContext*) ctx); +} + + void exitStream_operator(SV3_1aParser::Stream_operatorContext * ctx) { +PythonAPI::evalScript("exitStream_operator", this, (ParserRuleContext*) ctx); +} + + void enterSlice_size(SV3_1aParser::Slice_sizeContext * ctx) { +PythonAPI::evalScript("enterSlice_size", this, (ParserRuleContext*) ctx); +} + + void exitSlice_size(SV3_1aParser::Slice_sizeContext * ctx) { +PythonAPI::evalScript("exitSlice_size", this, (ParserRuleContext*) ctx); +} + + void enterStream_concatenation(SV3_1aParser::Stream_concatenationContext * ctx) { +PythonAPI::evalScript("enterStream_concatenation", this, (ParserRuleContext*) ctx); +} + + void exitStream_concatenation(SV3_1aParser::Stream_concatenationContext * ctx) { +PythonAPI::evalScript("exitStream_concatenation", this, (ParserRuleContext*) ctx); +} + + void enterStream_expression(SV3_1aParser::Stream_expressionContext * ctx) { +PythonAPI::evalScript("enterStream_expression", this, (ParserRuleContext*) ctx); +} + + void exitStream_expression(SV3_1aParser::Stream_expressionContext * ctx) { +PythonAPI::evalScript("exitStream_expression", this, (ParserRuleContext*) ctx); +} + + void enterArray_range_expression(SV3_1aParser::Array_range_expressionContext * ctx) { +PythonAPI::evalScript("enterArray_range_expression", this, (ParserRuleContext*) ctx); +} + + void exitArray_range_expression(SV3_1aParser::Array_range_expressionContext * ctx) { +PythonAPI::evalScript("exitArray_range_expression", this, (ParserRuleContext*) ctx); +} + + void enterEmpty_queue(SV3_1aParser::Empty_queueContext * ctx) { +PythonAPI::evalScript("enterEmpty_queue", this, (ParserRuleContext*) ctx); +} + + void exitEmpty_queue(SV3_1aParser::Empty_queueContext * ctx) { +PythonAPI::evalScript("exitEmpty_queue", this, (ParserRuleContext*) ctx); +} + + void enterSubroutine_call(SV3_1aParser::Subroutine_callContext * ctx) { +PythonAPI::evalScript("enterSubroutine_call", this, (ParserRuleContext*) ctx); +} + + void exitSubroutine_call(SV3_1aParser::Subroutine_callContext * ctx) { +PythonAPI::evalScript("exitSubroutine_call", this, (ParserRuleContext*) ctx); +} + + void enterList_of_arguments(SV3_1aParser::List_of_argumentsContext * ctx) { +PythonAPI::evalScript("enterList_of_arguments", this, (ParserRuleContext*) ctx); +} + + void exitList_of_arguments(SV3_1aParser::List_of_argumentsContext * ctx) { +PythonAPI::evalScript("exitList_of_arguments", this, (ParserRuleContext*) ctx); +} + + void enterMethod_call(SV3_1aParser::Method_callContext * ctx) { +PythonAPI::evalScript("enterMethod_call", this, (ParserRuleContext*) ctx); +} + + void exitMethod_call(SV3_1aParser::Method_callContext * ctx) { +PythonAPI::evalScript("exitMethod_call", this, (ParserRuleContext*) ctx); +} + + void enterMethod_call_body(SV3_1aParser::Method_call_bodyContext * ctx) { +PythonAPI::evalScript("enterMethod_call_body", this, (ParserRuleContext*) ctx); +} + + void exitMethod_call_body(SV3_1aParser::Method_call_bodyContext * ctx) { +PythonAPI::evalScript("exitMethod_call_body", this, (ParserRuleContext*) ctx); +} + + void enterBuilt_in_method_call(SV3_1aParser::Built_in_method_callContext * ctx) { +PythonAPI::evalScript("enterBuilt_in_method_call", this, (ParserRuleContext*) ctx); +} + + void exitBuilt_in_method_call(SV3_1aParser::Built_in_method_callContext * ctx) { +PythonAPI::evalScript("exitBuilt_in_method_call", this, (ParserRuleContext*) ctx); +} + + void enterArray_manipulation_call(SV3_1aParser::Array_manipulation_callContext * ctx) { +PythonAPI::evalScript("enterArray_manipulation_call", this, (ParserRuleContext*) ctx); +} + + void exitArray_manipulation_call(SV3_1aParser::Array_manipulation_callContext * ctx) { +PythonAPI::evalScript("exitArray_manipulation_call", this, (ParserRuleContext*) ctx); +} + + void enterRandomize_call(SV3_1aParser::Randomize_callContext * ctx) { +PythonAPI::evalScript("enterRandomize_call", this, (ParserRuleContext*) ctx); +} + + void exitRandomize_call(SV3_1aParser::Randomize_callContext * ctx) { +PythonAPI::evalScript("exitRandomize_call", this, (ParserRuleContext*) ctx); +} + + void enterMethod_call_root(SV3_1aParser::Method_call_rootContext * ctx) { +PythonAPI::evalScript("enterMethod_call_root", this, (ParserRuleContext*) ctx); +} + + void exitMethod_call_root(SV3_1aParser::Method_call_rootContext * ctx) { +PythonAPI::evalScript("exitMethod_call_root", this, (ParserRuleContext*) ctx); +} + + void enterArray_method_name(SV3_1aParser::Array_method_nameContext * ctx) { +PythonAPI::evalScript("enterArray_method_name", this, (ParserRuleContext*) ctx); +} + + void exitArray_method_name(SV3_1aParser::Array_method_nameContext * ctx) { +PythonAPI::evalScript("exitArray_method_name", this, (ParserRuleContext*) ctx); +} + + void enterUnique_call(SV3_1aParser::Unique_callContext * ctx) { +PythonAPI::evalScript("enterUnique_call", this, (ParserRuleContext*) ctx); +} + + void exitUnique_call(SV3_1aParser::Unique_callContext * ctx) { +PythonAPI::evalScript("exitUnique_call", this, (ParserRuleContext*) ctx); +} + + void enterAnd_call(SV3_1aParser::And_callContext * ctx) { +PythonAPI::evalScript("enterAnd_call", this, (ParserRuleContext*) ctx); +} + + void exitAnd_call(SV3_1aParser::And_callContext * ctx) { +PythonAPI::evalScript("exitAnd_call", this, (ParserRuleContext*) ctx); +} + + void enterOr_call(SV3_1aParser::Or_callContext * ctx) { +PythonAPI::evalScript("enterOr_call", this, (ParserRuleContext*) ctx); +} + + void exitOr_call(SV3_1aParser::Or_callContext * ctx) { +PythonAPI::evalScript("exitOr_call", this, (ParserRuleContext*) ctx); +} + + void enterXor_call(SV3_1aParser::Xor_callContext * ctx) { +PythonAPI::evalScript("enterXor_call", this, (ParserRuleContext*) ctx); +} + + void exitXor_call(SV3_1aParser::Xor_callContext * ctx) { +PythonAPI::evalScript("exitXor_call", this, (ParserRuleContext*) ctx); +} + + void enterInc_or_dec_expression(SV3_1aParser::Inc_or_dec_expressionContext * ctx) { +PythonAPI::evalScript("enterInc_or_dec_expression", this, (ParserRuleContext*) ctx); +} + + void exitInc_or_dec_expression(SV3_1aParser::Inc_or_dec_expressionContext * ctx) { +PythonAPI::evalScript("exitInc_or_dec_expression", this, (ParserRuleContext*) ctx); +} + + void enterConstant_expression(SV3_1aParser::Constant_expressionContext * ctx) { +PythonAPI::evalScript("enterConstant_expression", this, (ParserRuleContext*) ctx); +} + + void exitConstant_expression(SV3_1aParser::Constant_expressionContext * ctx) { +PythonAPI::evalScript("exitConstant_expression", this, (ParserRuleContext*) ctx); +} + + void enterConstant_mintypmax_expression(SV3_1aParser::Constant_mintypmax_expressionContext * ctx) { +PythonAPI::evalScript("enterConstant_mintypmax_expression", this, (ParserRuleContext*) ctx); +} + + void exitConstant_mintypmax_expression(SV3_1aParser::Constant_mintypmax_expressionContext * ctx) { +PythonAPI::evalScript("exitConstant_mintypmax_expression", this, (ParserRuleContext*) ctx); +} + + void enterConstant_param_expression(SV3_1aParser::Constant_param_expressionContext * ctx) { +PythonAPI::evalScript("enterConstant_param_expression", this, (ParserRuleContext*) ctx); +} + + void exitConstant_param_expression(SV3_1aParser::Constant_param_expressionContext * ctx) { +PythonAPI::evalScript("exitConstant_param_expression", this, (ParserRuleContext*) ctx); +} + + void enterParam_expression(SV3_1aParser::Param_expressionContext * ctx) { +PythonAPI::evalScript("enterParam_expression", this, (ParserRuleContext*) ctx); +} + + void exitParam_expression(SV3_1aParser::Param_expressionContext * ctx) { +PythonAPI::evalScript("exitParam_expression", this, (ParserRuleContext*) ctx); +} + + void enterConstant_range_expression(SV3_1aParser::Constant_range_expressionContext * ctx) { +PythonAPI::evalScript("enterConstant_range_expression", this, (ParserRuleContext*) ctx); +} + + void exitConstant_range_expression(SV3_1aParser::Constant_range_expressionContext * ctx) { +PythonAPI::evalScript("exitConstant_range_expression", this, (ParserRuleContext*) ctx); +} + + void enterConstant_part_select_range(SV3_1aParser::Constant_part_select_rangeContext * ctx) { +PythonAPI::evalScript("enterConstant_part_select_range", this, (ParserRuleContext*) ctx); +} + + void exitConstant_part_select_range(SV3_1aParser::Constant_part_select_rangeContext * ctx) { +PythonAPI::evalScript("exitConstant_part_select_range", this, (ParserRuleContext*) ctx); +} + + void enterConstant_range(SV3_1aParser::Constant_rangeContext * ctx) { +PythonAPI::evalScript("enterConstant_range", this, (ParserRuleContext*) ctx); +} + + void exitConstant_range(SV3_1aParser::Constant_rangeContext * ctx) { +PythonAPI::evalScript("exitConstant_range", this, (ParserRuleContext*) ctx); +} + + void enterConstant_indexed_range(SV3_1aParser::Constant_indexed_rangeContext * ctx) { +PythonAPI::evalScript("enterConstant_indexed_range", this, (ParserRuleContext*) ctx); +} + + void exitConstant_indexed_range(SV3_1aParser::Constant_indexed_rangeContext * ctx) { +PythonAPI::evalScript("exitConstant_indexed_range", this, (ParserRuleContext*) ctx); +} + + void enterExpression(SV3_1aParser::ExpressionContext * ctx) { +PythonAPI::evalScript("enterExpression", this, (ParserRuleContext*) ctx); +} + + void exitExpression(SV3_1aParser::ExpressionContext * ctx) { +PythonAPI::evalScript("exitExpression", this, (ParserRuleContext*) ctx); +} + + void enterTagged_union_expression(SV3_1aParser::Tagged_union_expressionContext * ctx) { +PythonAPI::evalScript("enterTagged_union_expression", this, (ParserRuleContext*) ctx); +} + + void exitTagged_union_expression(SV3_1aParser::Tagged_union_expressionContext * ctx) { +PythonAPI::evalScript("exitTagged_union_expression", this, (ParserRuleContext*) ctx); +} + + void enterValue_range(SV3_1aParser::Value_rangeContext * ctx) { +PythonAPI::evalScript("enterValue_range", this, (ParserRuleContext*) ctx); +} + + void exitValue_range(SV3_1aParser::Value_rangeContext * ctx) { +PythonAPI::evalScript("exitValue_range", this, (ParserRuleContext*) ctx); +} + + void enterMintypmax_expression(SV3_1aParser::Mintypmax_expressionContext * ctx) { +PythonAPI::evalScript("enterMintypmax_expression", this, (ParserRuleContext*) ctx); +} + + void exitMintypmax_expression(SV3_1aParser::Mintypmax_expressionContext * ctx) { +PythonAPI::evalScript("exitMintypmax_expression", this, (ParserRuleContext*) ctx); +} + + void enterModule_path_expression(SV3_1aParser::Module_path_expressionContext * ctx) { +PythonAPI::evalScript("enterModule_path_expression", this, (ParserRuleContext*) ctx); +} + + void exitModule_path_expression(SV3_1aParser::Module_path_expressionContext * ctx) { +PythonAPI::evalScript("exitModule_path_expression", this, (ParserRuleContext*) ctx); +} + + void enterModule_path_mintypmax_expression(SV3_1aParser::Module_path_mintypmax_expressionContext * ctx) { +PythonAPI::evalScript("enterModule_path_mintypmax_expression", this, (ParserRuleContext*) ctx); +} + + void exitModule_path_mintypmax_expression(SV3_1aParser::Module_path_mintypmax_expressionContext * ctx) { +PythonAPI::evalScript("exitModule_path_mintypmax_expression", this, (ParserRuleContext*) ctx); +} + + void enterRange_expression(SV3_1aParser::Range_expressionContext * ctx) { +PythonAPI::evalScript("enterRange_expression", this, (ParserRuleContext*) ctx); +} + + void exitRange_expression(SV3_1aParser::Range_expressionContext * ctx) { +PythonAPI::evalScript("exitRange_expression", this, (ParserRuleContext*) ctx); +} + + void enterPart_select_range(SV3_1aParser::Part_select_rangeContext * ctx) { +PythonAPI::evalScript("enterPart_select_range", this, (ParserRuleContext*) ctx); +} + + void exitPart_select_range(SV3_1aParser::Part_select_rangeContext * ctx) { +PythonAPI::evalScript("exitPart_select_range", this, (ParserRuleContext*) ctx); +} + + void enterIndexed_range(SV3_1aParser::Indexed_rangeContext * ctx) { +PythonAPI::evalScript("enterIndexed_range", this, (ParserRuleContext*) ctx); +} + + void exitIndexed_range(SV3_1aParser::Indexed_rangeContext * ctx) { +PythonAPI::evalScript("exitIndexed_range", this, (ParserRuleContext*) ctx); +} + + void enterConstant_primary(SV3_1aParser::Constant_primaryContext * ctx) { +PythonAPI::evalScript("enterConstant_primary", this, (ParserRuleContext*) ctx); +} + + void exitConstant_primary(SV3_1aParser::Constant_primaryContext * ctx) { +PythonAPI::evalScript("exitConstant_primary", this, (ParserRuleContext*) ctx); +} + + void enterModule_path_primary(SV3_1aParser::Module_path_primaryContext * ctx) { +PythonAPI::evalScript("enterModule_path_primary", this, (ParserRuleContext*) ctx); +} + + void exitModule_path_primary(SV3_1aParser::Module_path_primaryContext * ctx) { +PythonAPI::evalScript("exitModule_path_primary", this, (ParserRuleContext*) ctx); +} + + void enterComplex_func_call(SV3_1aParser::Complex_func_callContext * ctx) { +PythonAPI::evalScript("enterComplex_func_call", this, (ParserRuleContext*) ctx); +} + + void exitComplex_func_call(SV3_1aParser::Complex_func_callContext * ctx) { +PythonAPI::evalScript("exitComplex_func_call", this, (ParserRuleContext*) ctx); +} + + void enterPrimary(SV3_1aParser::PrimaryContext * ctx) { +PythonAPI::evalScript("enterPrimary", this, (ParserRuleContext*) ctx); +} + + void exitPrimary(SV3_1aParser::PrimaryContext * ctx) { +PythonAPI::evalScript("exitPrimary", this, (ParserRuleContext*) ctx); +} + + void enterThis_keyword(SV3_1aParser::This_keywordContext * ctx) { +PythonAPI::evalScript("enterThis_keyword", this, (ParserRuleContext*) ctx); +} + + void exitThis_keyword(SV3_1aParser::This_keywordContext * ctx) { +PythonAPI::evalScript("exitThis_keyword", this, (ParserRuleContext*) ctx); +} + + void enterSuper_keyword(SV3_1aParser::Super_keywordContext * ctx) { +PythonAPI::evalScript("enterSuper_keyword", this, (ParserRuleContext*) ctx); +} + + void exitSuper_keyword(SV3_1aParser::Super_keywordContext * ctx) { +PythonAPI::evalScript("exitSuper_keyword", this, (ParserRuleContext*) ctx); +} + + void enterDollar_keyword(SV3_1aParser::Dollar_keywordContext * ctx) { +PythonAPI::evalScript("enterDollar_keyword", this, (ParserRuleContext*) ctx); +} + + void exitDollar_keyword(SV3_1aParser::Dollar_keywordContext * ctx) { +PythonAPI::evalScript("exitDollar_keyword", this, (ParserRuleContext*) ctx); +} + + void enterDollar_root_keyword(SV3_1aParser::Dollar_root_keywordContext * ctx) { +PythonAPI::evalScript("enterDollar_root_keyword", this, (ParserRuleContext*) ctx); +} + + void exitDollar_root_keyword(SV3_1aParser::Dollar_root_keywordContext * ctx) { +PythonAPI::evalScript("exitDollar_root_keyword", this, (ParserRuleContext*) ctx); +} + + void enterThis_dot_super(SV3_1aParser::This_dot_superContext * ctx) { +PythonAPI::evalScript("enterThis_dot_super", this, (ParserRuleContext*) ctx); +} + + void exitThis_dot_super(SV3_1aParser::This_dot_superContext * ctx) { +PythonAPI::evalScript("exitThis_dot_super", this, (ParserRuleContext*) ctx); +} + + void enterNull_keyword(SV3_1aParser::Null_keywordContext * ctx) { +PythonAPI::evalScript("enterNull_keyword", this, (ParserRuleContext*) ctx); +} + + void exitNull_keyword(SV3_1aParser::Null_keywordContext * ctx) { +PythonAPI::evalScript("exitNull_keyword", this, (ParserRuleContext*) ctx); +} + + void enterTime_literal(SV3_1aParser::Time_literalContext * ctx) { +PythonAPI::evalScript("enterTime_literal", this, (ParserRuleContext*) ctx); +} + + void exitTime_literal(SV3_1aParser::Time_literalContext * ctx) { +PythonAPI::evalScript("exitTime_literal", this, (ParserRuleContext*) ctx); +} + + void enterTime_unit(SV3_1aParser::Time_unitContext * ctx) { +PythonAPI::evalScript("enterTime_unit", this, (ParserRuleContext*) ctx); +} + + void exitTime_unit(SV3_1aParser::Time_unitContext * ctx) { +PythonAPI::evalScript("exitTime_unit", this, (ParserRuleContext*) ctx); +} + + void enterImplicit_class_handle(SV3_1aParser::Implicit_class_handleContext * ctx) { +PythonAPI::evalScript("enterImplicit_class_handle", this, (ParserRuleContext*) ctx); +} + + void exitImplicit_class_handle(SV3_1aParser::Implicit_class_handleContext * ctx) { +PythonAPI::evalScript("exitImplicit_class_handle", this, (ParserRuleContext*) ctx); +} + + void enterBit_select(SV3_1aParser::Bit_selectContext * ctx) { +PythonAPI::evalScript("enterBit_select", this, (ParserRuleContext*) ctx); +} + + void exitBit_select(SV3_1aParser::Bit_selectContext * ctx) { +PythonAPI::evalScript("exitBit_select", this, (ParserRuleContext*) ctx); +} + + void enterSelect(SV3_1aParser::SelectContext * ctx) { +PythonAPI::evalScript("enterSelect", this, (ParserRuleContext*) ctx); +} + + void exitSelect(SV3_1aParser::SelectContext * ctx) { +PythonAPI::evalScript("exitSelect", this, (ParserRuleContext*) ctx); +} + + void enterNonrange_select(SV3_1aParser::Nonrange_selectContext * ctx) { +PythonAPI::evalScript("enterNonrange_select", this, (ParserRuleContext*) ctx); +} + + void exitNonrange_select(SV3_1aParser::Nonrange_selectContext * ctx) { +PythonAPI::evalScript("exitNonrange_select", this, (ParserRuleContext*) ctx); +} + + void enterConstant_bit_select(SV3_1aParser::Constant_bit_selectContext * ctx) { +PythonAPI::evalScript("enterConstant_bit_select", this, (ParserRuleContext*) ctx); +} + + void exitConstant_bit_select(SV3_1aParser::Constant_bit_selectContext * ctx) { +PythonAPI::evalScript("exitConstant_bit_select", this, (ParserRuleContext*) ctx); +} + + void enterConstant_select(SV3_1aParser::Constant_selectContext * ctx) { +PythonAPI::evalScript("enterConstant_select", this, (ParserRuleContext*) ctx); +} + + void exitConstant_select(SV3_1aParser::Constant_selectContext * ctx) { +PythonAPI::evalScript("exitConstant_select", this, (ParserRuleContext*) ctx); +} + + void enterPrimary_literal(SV3_1aParser::Primary_literalContext * ctx) { +PythonAPI::evalScript("enterPrimary_literal", this, (ParserRuleContext*) ctx); +} + + void exitPrimary_literal(SV3_1aParser::Primary_literalContext * ctx) { +PythonAPI::evalScript("exitPrimary_literal", this, (ParserRuleContext*) ctx); +} + + void enterConstant_cast(SV3_1aParser::Constant_castContext * ctx) { +PythonAPI::evalScript("enterConstant_cast", this, (ParserRuleContext*) ctx); +} + + void exitConstant_cast(SV3_1aParser::Constant_castContext * ctx) { +PythonAPI::evalScript("exitConstant_cast", this, (ParserRuleContext*) ctx); +} + + void enterCast(SV3_1aParser::CastContext * ctx) { +PythonAPI::evalScript("enterCast", this, (ParserRuleContext*) ctx); +} + + void exitCast(SV3_1aParser::CastContext * ctx) { +PythonAPI::evalScript("exitCast", this, (ParserRuleContext*) ctx); +} + + void enterNet_lvalue(SV3_1aParser::Net_lvalueContext * ctx) { +PythonAPI::evalScript("enterNet_lvalue", this, (ParserRuleContext*) ctx); +} + + void exitNet_lvalue(SV3_1aParser::Net_lvalueContext * ctx) { +PythonAPI::evalScript("exitNet_lvalue", this, (ParserRuleContext*) ctx); +} + + void enterVariable_lvalue(SV3_1aParser::Variable_lvalueContext * ctx) { +PythonAPI::evalScript("enterVariable_lvalue", this, (ParserRuleContext*) ctx); +} + + void exitVariable_lvalue(SV3_1aParser::Variable_lvalueContext * ctx) { +PythonAPI::evalScript("exitVariable_lvalue", this, (ParserRuleContext*) ctx); +} + + void enterNonrange_variable_lvalue(SV3_1aParser::Nonrange_variable_lvalueContext * ctx) { +PythonAPI::evalScript("enterNonrange_variable_lvalue", this, (ParserRuleContext*) ctx); +} + + void exitNonrange_variable_lvalue(SV3_1aParser::Nonrange_variable_lvalueContext * ctx) { +PythonAPI::evalScript("exitNonrange_variable_lvalue", this, (ParserRuleContext*) ctx); +} + + void enterUnary_Plus(SV3_1aParser::Unary_PlusContext * ctx) { +PythonAPI::evalScript("enterUnary_Plus", this, (ParserRuleContext*) ctx); +} + + void exitUnary_Plus(SV3_1aParser::Unary_PlusContext * ctx) { +PythonAPI::evalScript("exitUnary_Plus", this, (ParserRuleContext*) ctx); +} + + void enterUnary_Minus(SV3_1aParser::Unary_MinusContext * ctx) { +PythonAPI::evalScript("enterUnary_Minus", this, (ParserRuleContext*) ctx); +} + + void exitUnary_Minus(SV3_1aParser::Unary_MinusContext * ctx) { +PythonAPI::evalScript("exitUnary_Minus", this, (ParserRuleContext*) ctx); +} + + void enterUnary_Not(SV3_1aParser::Unary_NotContext * ctx) { +PythonAPI::evalScript("enterUnary_Not", this, (ParserRuleContext*) ctx); +} + + void exitUnary_Not(SV3_1aParser::Unary_NotContext * ctx) { +PythonAPI::evalScript("exitUnary_Not", this, (ParserRuleContext*) ctx); +} + + void enterUnary_Tilda(SV3_1aParser::Unary_TildaContext * ctx) { +PythonAPI::evalScript("enterUnary_Tilda", this, (ParserRuleContext*) ctx); +} + + void exitUnary_Tilda(SV3_1aParser::Unary_TildaContext * ctx) { +PythonAPI::evalScript("exitUnary_Tilda", this, (ParserRuleContext*) ctx); +} + + void enterUnary_BitwAnd(SV3_1aParser::Unary_BitwAndContext * ctx) { +PythonAPI::evalScript("enterUnary_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void exitUnary_BitwAnd(SV3_1aParser::Unary_BitwAndContext * ctx) { +PythonAPI::evalScript("exitUnary_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void enterUnary_ReductNand(SV3_1aParser::Unary_ReductNandContext * ctx) { +PythonAPI::evalScript("enterUnary_ReductNand", this, (ParserRuleContext*) ctx); +} + + void exitUnary_ReductNand(SV3_1aParser::Unary_ReductNandContext * ctx) { +PythonAPI::evalScript("exitUnary_ReductNand", this, (ParserRuleContext*) ctx); +} + + void enterUnary_BitwOr(SV3_1aParser::Unary_BitwOrContext * ctx) { +PythonAPI::evalScript("enterUnary_BitwOr", this, (ParserRuleContext*) ctx); +} + + void exitUnary_BitwOr(SV3_1aParser::Unary_BitwOrContext * ctx) { +PythonAPI::evalScript("exitUnary_BitwOr", this, (ParserRuleContext*) ctx); +} + + void enterUnary_ReductNor(SV3_1aParser::Unary_ReductNorContext * ctx) { +PythonAPI::evalScript("enterUnary_ReductNor", this, (ParserRuleContext*) ctx); +} + + void exitUnary_ReductNor(SV3_1aParser::Unary_ReductNorContext * ctx) { +PythonAPI::evalScript("exitUnary_ReductNor", this, (ParserRuleContext*) ctx); +} + + void enterUnary_BitwXor(SV3_1aParser::Unary_BitwXorContext * ctx) { +PythonAPI::evalScript("enterUnary_BitwXor", this, (ParserRuleContext*) ctx); +} + + void exitUnary_BitwXor(SV3_1aParser::Unary_BitwXorContext * ctx) { +PythonAPI::evalScript("exitUnary_BitwXor", this, (ParserRuleContext*) ctx); +} + + void enterUnary_ReductXnor1(SV3_1aParser::Unary_ReductXnor1Context * ctx) { +PythonAPI::evalScript("enterUnary_ReductXnor1", this, (ParserRuleContext*) ctx); +} + + void exitUnary_ReductXnor1(SV3_1aParser::Unary_ReductXnor1Context * ctx) { +PythonAPI::evalScript("exitUnary_ReductXnor1", this, (ParserRuleContext*) ctx); +} + + void enterUnary_ReductXnor2(SV3_1aParser::Unary_ReductXnor2Context * ctx) { +PythonAPI::evalScript("enterUnary_ReductXnor2", this, (ParserRuleContext*) ctx); +} + + void exitUnary_ReductXnor2(SV3_1aParser::Unary_ReductXnor2Context * ctx) { +PythonAPI::evalScript("exitUnary_ReductXnor2", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Plus(SV3_1aParser::BinOp_PlusContext * ctx) { +PythonAPI::evalScript("enterBinOp_Plus", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Plus(SV3_1aParser::BinOp_PlusContext * ctx) { +PythonAPI::evalScript("exitBinOp_Plus", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Minus(SV3_1aParser::BinOp_MinusContext * ctx) { +PythonAPI::evalScript("enterBinOp_Minus", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Minus(SV3_1aParser::BinOp_MinusContext * ctx) { +PythonAPI::evalScript("exitBinOp_Minus", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Mult(SV3_1aParser::BinOp_MultContext * ctx) { +PythonAPI::evalScript("enterBinOp_Mult", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Mult(SV3_1aParser::BinOp_MultContext * ctx) { +PythonAPI::evalScript("exitBinOp_Mult", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Div(SV3_1aParser::BinOp_DivContext * ctx) { +PythonAPI::evalScript("enterBinOp_Div", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Div(SV3_1aParser::BinOp_DivContext * ctx) { +PythonAPI::evalScript("exitBinOp_Div", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Percent(SV3_1aParser::BinOp_PercentContext * ctx) { +PythonAPI::evalScript("enterBinOp_Percent", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Percent(SV3_1aParser::BinOp_PercentContext * ctx) { +PythonAPI::evalScript("exitBinOp_Percent", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Equiv(SV3_1aParser::BinOp_EquivContext * ctx) { +PythonAPI::evalScript("enterBinOp_Equiv", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Equiv(SV3_1aParser::BinOp_EquivContext * ctx) { +PythonAPI::evalScript("exitBinOp_Equiv", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Not(SV3_1aParser::BinOp_NotContext * ctx) { +PythonAPI::evalScript("enterBinOp_Not", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Not(SV3_1aParser::BinOp_NotContext * ctx) { +PythonAPI::evalScript("exitBinOp_Not", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_FourStateLogicEqual(SV3_1aParser::BinOp_FourStateLogicEqualContext * ctx) { +PythonAPI::evalScript("enterBinOp_FourStateLogicEqual", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_FourStateLogicEqual(SV3_1aParser::BinOp_FourStateLogicEqualContext * ctx) { +PythonAPI::evalScript("exitBinOp_FourStateLogicEqual", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_FourStateLogicNotEqual(SV3_1aParser::BinOp_FourStateLogicNotEqualContext * ctx) { +PythonAPI::evalScript("enterBinOp_FourStateLogicNotEqual", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_FourStateLogicNotEqual(SV3_1aParser::BinOp_FourStateLogicNotEqualContext * ctx) { +PythonAPI::evalScript("exitBinOp_FourStateLogicNotEqual", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_WildEqual(SV3_1aParser::BinOp_WildEqualContext * ctx) { +PythonAPI::evalScript("enterBinOp_WildEqual", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_WildEqual(SV3_1aParser::BinOp_WildEqualContext * ctx) { +PythonAPI::evalScript("exitBinOp_WildEqual", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_WildNotEqual(SV3_1aParser::BinOp_WildNotEqualContext * ctx) { +PythonAPI::evalScript("enterBinOp_WildNotEqual", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_WildNotEqual(SV3_1aParser::BinOp_WildNotEqualContext * ctx) { +PythonAPI::evalScript("exitBinOp_WildNotEqual", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_LogicAnd(SV3_1aParser::BinOp_LogicAndContext * ctx) { +PythonAPI::evalScript("enterBinOp_LogicAnd", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_LogicAnd(SV3_1aParser::BinOp_LogicAndContext * ctx) { +PythonAPI::evalScript("exitBinOp_LogicAnd", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_LogicOr(SV3_1aParser::BinOp_LogicOrContext * ctx) { +PythonAPI::evalScript("enterBinOp_LogicOr", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_LogicOr(SV3_1aParser::BinOp_LogicOrContext * ctx) { +PythonAPI::evalScript("exitBinOp_LogicOr", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_MultMult(SV3_1aParser::BinOp_MultMultContext * ctx) { +PythonAPI::evalScript("enterBinOp_MultMult", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_MultMult(SV3_1aParser::BinOp_MultMultContext * ctx) { +PythonAPI::evalScript("exitBinOp_MultMult", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Less(SV3_1aParser::BinOp_LessContext * ctx) { +PythonAPI::evalScript("enterBinOp_Less", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Less(SV3_1aParser::BinOp_LessContext * ctx) { +PythonAPI::evalScript("exitBinOp_Less", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_LessEqual(SV3_1aParser::BinOp_LessEqualContext * ctx) { +PythonAPI::evalScript("enterBinOp_LessEqual", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_LessEqual(SV3_1aParser::BinOp_LessEqualContext * ctx) { +PythonAPI::evalScript("exitBinOp_LessEqual", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Great(SV3_1aParser::BinOp_GreatContext * ctx) { +PythonAPI::evalScript("enterBinOp_Great", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Great(SV3_1aParser::BinOp_GreatContext * ctx) { +PythonAPI::evalScript("exitBinOp_Great", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_GreatEqual(SV3_1aParser::BinOp_GreatEqualContext * ctx) { +PythonAPI::evalScript("enterBinOp_GreatEqual", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_GreatEqual(SV3_1aParser::BinOp_GreatEqualContext * ctx) { +PythonAPI::evalScript("exitBinOp_GreatEqual", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_BitwAnd(SV3_1aParser::BinOp_BitwAndContext * ctx) { +PythonAPI::evalScript("enterBinOp_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_BitwAnd(SV3_1aParser::BinOp_BitwAndContext * ctx) { +PythonAPI::evalScript("exitBinOp_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_BitwOr(SV3_1aParser::BinOp_BitwOrContext * ctx) { +PythonAPI::evalScript("enterBinOp_BitwOr", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_BitwOr(SV3_1aParser::BinOp_BitwOrContext * ctx) { +PythonAPI::evalScript("exitBinOp_BitwOr", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_BitwXor(SV3_1aParser::BinOp_BitwXorContext * ctx) { +PythonAPI::evalScript("enterBinOp_BitwXor", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_BitwXor(SV3_1aParser::BinOp_BitwXorContext * ctx) { +PythonAPI::evalScript("exitBinOp_BitwXor", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_ReductXnor1(SV3_1aParser::BinOp_ReductXnor1Context * ctx) { +PythonAPI::evalScript("enterBinOp_ReductXnor1", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_ReductXnor1(SV3_1aParser::BinOp_ReductXnor1Context * ctx) { +PythonAPI::evalScript("exitBinOp_ReductXnor1", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_ReductXnor2(SV3_1aParser::BinOp_ReductXnor2Context * ctx) { +PythonAPI::evalScript("enterBinOp_ReductXnor2", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_ReductXnor2(SV3_1aParser::BinOp_ReductXnor2Context * ctx) { +PythonAPI::evalScript("exitBinOp_ReductXnor2", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_ReductNor(SV3_1aParser::BinOp_ReductNorContext * ctx) { +PythonAPI::evalScript("enterBinOp_ReductNor", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_ReductNor(SV3_1aParser::BinOp_ReductNorContext * ctx) { +PythonAPI::evalScript("exitBinOp_ReductNor", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_ReductNand(SV3_1aParser::BinOp_ReductNandContext * ctx) { +PythonAPI::evalScript("enterBinOp_ReductNand", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_ReductNand(SV3_1aParser::BinOp_ReductNandContext * ctx) { +PythonAPI::evalScript("exitBinOp_ReductNand", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_ShiftRight(SV3_1aParser::BinOp_ShiftRightContext * ctx) { +PythonAPI::evalScript("enterBinOp_ShiftRight", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_ShiftRight(SV3_1aParser::BinOp_ShiftRightContext * ctx) { +PythonAPI::evalScript("exitBinOp_ShiftRight", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_ShiftLeft(SV3_1aParser::BinOp_ShiftLeftContext * ctx) { +PythonAPI::evalScript("enterBinOp_ShiftLeft", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_ShiftLeft(SV3_1aParser::BinOp_ShiftLeftContext * ctx) { +PythonAPI::evalScript("exitBinOp_ShiftLeft", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_ArithShiftRight(SV3_1aParser::BinOp_ArithShiftRightContext * ctx) { +PythonAPI::evalScript("enterBinOp_ArithShiftRight", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_ArithShiftRight(SV3_1aParser::BinOp_ArithShiftRightContext * ctx) { +PythonAPI::evalScript("exitBinOp_ArithShiftRight", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_ArithShiftLeft(SV3_1aParser::BinOp_ArithShiftLeftContext * ctx) { +PythonAPI::evalScript("enterBinOp_ArithShiftLeft", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_ArithShiftLeft(SV3_1aParser::BinOp_ArithShiftLeftContext * ctx) { +PythonAPI::evalScript("exitBinOp_ArithShiftLeft", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Imply(SV3_1aParser::BinOp_ImplyContext * ctx) { +PythonAPI::evalScript("enterBinOp_Imply", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Imply(SV3_1aParser::BinOp_ImplyContext * ctx) { +PythonAPI::evalScript("exitBinOp_Imply", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_Equivalence(SV3_1aParser::BinOp_EquivalenceContext * ctx) { +PythonAPI::evalScript("enterBinOp_Equivalence", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_Equivalence(SV3_1aParser::BinOp_EquivalenceContext * ctx) { +PythonAPI::evalScript("exitBinOp_Equivalence", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_WildcardEqual(SV3_1aParser::BinOp_WildcardEqualContext * ctx) { +PythonAPI::evalScript("enterBinOp_WildcardEqual", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_WildcardEqual(SV3_1aParser::BinOp_WildcardEqualContext * ctx) { +PythonAPI::evalScript("exitBinOp_WildcardEqual", this, (ParserRuleContext*) ctx); +} + + void enterBinOp_WildcardNotEqual(SV3_1aParser::BinOp_WildcardNotEqualContext * ctx) { +PythonAPI::evalScript("enterBinOp_WildcardNotEqual", this, (ParserRuleContext*) ctx); +} + + void exitBinOp_WildcardNotEqual(SV3_1aParser::BinOp_WildcardNotEqualContext * ctx) { +PythonAPI::evalScript("exitBinOp_WildcardNotEqual", this, (ParserRuleContext*) ctx); +} + + void enterIncDec_PlusPlus(SV3_1aParser::IncDec_PlusPlusContext * ctx) { +PythonAPI::evalScript("enterIncDec_PlusPlus", this, (ParserRuleContext*) ctx); +} + + void exitIncDec_PlusPlus(SV3_1aParser::IncDec_PlusPlusContext * ctx) { +PythonAPI::evalScript("exitIncDec_PlusPlus", this, (ParserRuleContext*) ctx); +} + + void enterIncDec_MinusMinus(SV3_1aParser::IncDec_MinusMinusContext * ctx) { +PythonAPI::evalScript("enterIncDec_MinusMinus", this, (ParserRuleContext*) ctx); +} + + void exitIncDec_MinusMinus(SV3_1aParser::IncDec_MinusMinusContext * ctx) { +PythonAPI::evalScript("exitIncDec_MinusMinus", this, (ParserRuleContext*) ctx); +} + + void enterUnaryModOp_Not(SV3_1aParser::UnaryModOp_NotContext * ctx) { +PythonAPI::evalScript("enterUnaryModOp_Not", this, (ParserRuleContext*) ctx); +} + + void exitUnaryModOp_Not(SV3_1aParser::UnaryModOp_NotContext * ctx) { +PythonAPI::evalScript("exitUnaryModOp_Not", this, (ParserRuleContext*) ctx); +} + + void enterUnaryModOp_Tilda(SV3_1aParser::UnaryModOp_TildaContext * ctx) { +PythonAPI::evalScript("enterUnaryModOp_Tilda", this, (ParserRuleContext*) ctx); +} + + void exitUnaryModOp_Tilda(SV3_1aParser::UnaryModOp_TildaContext * ctx) { +PythonAPI::evalScript("exitUnaryModOp_Tilda", this, (ParserRuleContext*) ctx); +} + + void enterUnaryModOp_BitwAnd(SV3_1aParser::UnaryModOp_BitwAndContext * ctx) { +PythonAPI::evalScript("enterUnaryModOp_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void exitUnaryModOp_BitwAnd(SV3_1aParser::UnaryModOp_BitwAndContext * ctx) { +PythonAPI::evalScript("exitUnaryModOp_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void enterUnaryModOp_ReductNand(SV3_1aParser::UnaryModOp_ReductNandContext * ctx) { +PythonAPI::evalScript("enterUnaryModOp_ReductNand", this, (ParserRuleContext*) ctx); +} + + void exitUnaryModOp_ReductNand(SV3_1aParser::UnaryModOp_ReductNandContext * ctx) { +PythonAPI::evalScript("exitUnaryModOp_ReductNand", this, (ParserRuleContext*) ctx); +} + + void enterUnaryModOp_BitwOr(SV3_1aParser::UnaryModOp_BitwOrContext * ctx) { +PythonAPI::evalScript("enterUnaryModOp_BitwOr", this, (ParserRuleContext*) ctx); +} + + void exitUnaryModOp_BitwOr(SV3_1aParser::UnaryModOp_BitwOrContext * ctx) { +PythonAPI::evalScript("exitUnaryModOp_BitwOr", this, (ParserRuleContext*) ctx); +} + + void enterUnaryModOp_ReductNor(SV3_1aParser::UnaryModOp_ReductNorContext * ctx) { +PythonAPI::evalScript("enterUnaryModOp_ReductNor", this, (ParserRuleContext*) ctx); +} + + void exitUnaryModOp_ReductNor(SV3_1aParser::UnaryModOp_ReductNorContext * ctx) { +PythonAPI::evalScript("exitUnaryModOp_ReductNor", this, (ParserRuleContext*) ctx); +} + + void enterUnaryModOp_BitwXor(SV3_1aParser::UnaryModOp_BitwXorContext * ctx) { +PythonAPI::evalScript("enterUnaryModOp_BitwXor", this, (ParserRuleContext*) ctx); +} + + void exitUnaryModOp_BitwXor(SV3_1aParser::UnaryModOp_BitwXorContext * ctx) { +PythonAPI::evalScript("exitUnaryModOp_BitwXor", this, (ParserRuleContext*) ctx); +} + + void enterUnaryModOp_ReductXNor1(SV3_1aParser::UnaryModOp_ReductXNor1Context * ctx) { +PythonAPI::evalScript("enterUnaryModOp_ReductXNor1", this, (ParserRuleContext*) ctx); +} + + void exitUnaryModOp_ReductXNor1(SV3_1aParser::UnaryModOp_ReductXNor1Context * ctx) { +PythonAPI::evalScript("exitUnaryModOp_ReductXNor1", this, (ParserRuleContext*) ctx); +} + + void enterUnaryModOp_ReductXnor2(SV3_1aParser::UnaryModOp_ReductXnor2Context * ctx) { +PythonAPI::evalScript("enterUnaryModOp_ReductXnor2", this, (ParserRuleContext*) ctx); +} + + void exitUnaryModOp_ReductXnor2(SV3_1aParser::UnaryModOp_ReductXnor2Context * ctx) { +PythonAPI::evalScript("exitUnaryModOp_ReductXnor2", this, (ParserRuleContext*) ctx); +} + + void enterBinModOp_Equiv(SV3_1aParser::BinModOp_EquivContext * ctx) { +PythonAPI::evalScript("enterBinModOp_Equiv", this, (ParserRuleContext*) ctx); +} + + void exitBinModOp_Equiv(SV3_1aParser::BinModOp_EquivContext * ctx) { +PythonAPI::evalScript("exitBinModOp_Equiv", this, (ParserRuleContext*) ctx); +} + + void enterBinModOp_NotEqual(SV3_1aParser::BinModOp_NotEqualContext * ctx) { +PythonAPI::evalScript("enterBinModOp_NotEqual", this, (ParserRuleContext*) ctx); +} + + void exitBinModOp_NotEqual(SV3_1aParser::BinModOp_NotEqualContext * ctx) { +PythonAPI::evalScript("exitBinModOp_NotEqual", this, (ParserRuleContext*) ctx); +} + + void enterBinModOp_LogicAnd(SV3_1aParser::BinModOp_LogicAndContext * ctx) { +PythonAPI::evalScript("enterBinModOp_LogicAnd", this, (ParserRuleContext*) ctx); +} + + void exitBinModOp_LogicAnd(SV3_1aParser::BinModOp_LogicAndContext * ctx) { +PythonAPI::evalScript("exitBinModOp_LogicAnd", this, (ParserRuleContext*) ctx); +} + + void enterBinModOp_LogicOr(SV3_1aParser::BinModOp_LogicOrContext * ctx) { +PythonAPI::evalScript("enterBinModOp_LogicOr", this, (ParserRuleContext*) ctx); +} + + void exitBinModOp_LogicOr(SV3_1aParser::BinModOp_LogicOrContext * ctx) { +PythonAPI::evalScript("exitBinModOp_LogicOr", this, (ParserRuleContext*) ctx); +} + + void enterBinModOp_BitwAnd(SV3_1aParser::BinModOp_BitwAndContext * ctx) { +PythonAPI::evalScript("enterBinModOp_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void exitBinModOp_BitwAnd(SV3_1aParser::BinModOp_BitwAndContext * ctx) { +PythonAPI::evalScript("exitBinModOp_BitwAnd", this, (ParserRuleContext*) ctx); +} + + void enterBinModOp_BitwOr(SV3_1aParser::BinModOp_BitwOrContext * ctx) { +PythonAPI::evalScript("enterBinModOp_BitwOr", this, (ParserRuleContext*) ctx); +} + + void exitBinModOp_BitwOr(SV3_1aParser::BinModOp_BitwOrContext * ctx) { +PythonAPI::evalScript("exitBinModOp_BitwOr", this, (ParserRuleContext*) ctx); +} + + void enterBinModOp_BitwXor(SV3_1aParser::BinModOp_BitwXorContext * ctx) { +PythonAPI::evalScript("enterBinModOp_BitwXor", this, (ParserRuleContext*) ctx); +} + + void exitBinModOp_BitwXor(SV3_1aParser::BinModOp_BitwXorContext * ctx) { +PythonAPI::evalScript("exitBinModOp_BitwXor", this, (ParserRuleContext*) ctx); +} + + void enterBinModOp_ReductXnor1(SV3_1aParser::BinModOp_ReductXnor1Context * ctx) { +PythonAPI::evalScript("enterBinModOp_ReductXnor1", this, (ParserRuleContext*) ctx); +} + + void exitBinModOp_ReductXnor1(SV3_1aParser::BinModOp_ReductXnor1Context * ctx) { +PythonAPI::evalScript("exitBinModOp_ReductXnor1", this, (ParserRuleContext*) ctx); +} + + void enterBinModOp_ReductXnor2(SV3_1aParser::BinModOp_ReductXnor2Context * ctx) { +PythonAPI::evalScript("enterBinModOp_ReductXnor2", this, (ParserRuleContext*) ctx); +} + + void exitBinModOp_ReductXnor2(SV3_1aParser::BinModOp_ReductXnor2Context * ctx) { +PythonAPI::evalScript("exitBinModOp_ReductXnor2", this, (ParserRuleContext*) ctx); +} + + void enterNumber_Integral(SV3_1aParser::Number_IntegralContext * ctx) { +PythonAPI::evalScript("enterNumber_Integral", this, (ParserRuleContext*) ctx); +} + + void exitNumber_Integral(SV3_1aParser::Number_IntegralContext * ctx) { +PythonAPI::evalScript("exitNumber_Integral", this, (ParserRuleContext*) ctx); +} + + void enterNumber_Real(SV3_1aParser::Number_RealContext * ctx) { +PythonAPI::evalScript("enterNumber_Real", this, (ParserRuleContext*) ctx); +} + + void exitNumber_Real(SV3_1aParser::Number_RealContext * ctx) { +PythonAPI::evalScript("exitNumber_Real", this, (ParserRuleContext*) ctx); +} + + void enterNumber_1Tickb0(SV3_1aParser::Number_1Tickb0Context * ctx) { +PythonAPI::evalScript("enterNumber_1Tickb0", this, (ParserRuleContext*) ctx); +} + + void exitNumber_1Tickb0(SV3_1aParser::Number_1Tickb0Context * ctx) { +PythonAPI::evalScript("exitNumber_1Tickb0", this, (ParserRuleContext*) ctx); +} + + void enterNumber_1Tickb1(SV3_1aParser::Number_1Tickb1Context * ctx) { +PythonAPI::evalScript("enterNumber_1Tickb1", this, (ParserRuleContext*) ctx); +} + + void exitNumber_1Tickb1(SV3_1aParser::Number_1Tickb1Context * ctx) { +PythonAPI::evalScript("exitNumber_1Tickb1", this, (ParserRuleContext*) ctx); +} + + void enterNumber_1TickB0(SV3_1aParser::Number_1TickB0Context * ctx) { +PythonAPI::evalScript("enterNumber_1TickB0", this, (ParserRuleContext*) ctx); +} + + void exitNumber_1TickB0(SV3_1aParser::Number_1TickB0Context * ctx) { +PythonAPI::evalScript("exitNumber_1TickB0", this, (ParserRuleContext*) ctx); +} + + void enterNumber_1TickB1(SV3_1aParser::Number_1TickB1Context * ctx) { +PythonAPI::evalScript("enterNumber_1TickB1", this, (ParserRuleContext*) ctx); +} + + void exitNumber_1TickB1(SV3_1aParser::Number_1TickB1Context * ctx) { +PythonAPI::evalScript("exitNumber_1TickB1", this, (ParserRuleContext*) ctx); +} + + void enterNumber_Tickb0(SV3_1aParser::Number_Tickb0Context * ctx) { +PythonAPI::evalScript("enterNumber_Tickb0", this, (ParserRuleContext*) ctx); +} + + void exitNumber_Tickb0(SV3_1aParser::Number_Tickb0Context * ctx) { +PythonAPI::evalScript("exitNumber_Tickb0", this, (ParserRuleContext*) ctx); +} + + void enterNumber_Tickb1(SV3_1aParser::Number_Tickb1Context * ctx) { +PythonAPI::evalScript("enterNumber_Tickb1", this, (ParserRuleContext*) ctx); +} + + void exitNumber_Tickb1(SV3_1aParser::Number_Tickb1Context * ctx) { +PythonAPI::evalScript("exitNumber_Tickb1", this, (ParserRuleContext*) ctx); +} + + void enterNumber_TickB0(SV3_1aParser::Number_TickB0Context * ctx) { +PythonAPI::evalScript("enterNumber_TickB0", this, (ParserRuleContext*) ctx); +} + + void exitNumber_TickB0(SV3_1aParser::Number_TickB0Context * ctx) { +PythonAPI::evalScript("exitNumber_TickB0", this, (ParserRuleContext*) ctx); +} + + void enterNumber_TickB1(SV3_1aParser::Number_TickB1Context * ctx) { +PythonAPI::evalScript("enterNumber_TickB1", this, (ParserRuleContext*) ctx); +} + + void exitNumber_TickB1(SV3_1aParser::Number_TickB1Context * ctx) { +PythonAPI::evalScript("exitNumber_TickB1", this, (ParserRuleContext*) ctx); +} + + void enterNumber_Tick0(SV3_1aParser::Number_Tick0Context * ctx) { +PythonAPI::evalScript("enterNumber_Tick0", this, (ParserRuleContext*) ctx); +} + + void exitNumber_Tick0(SV3_1aParser::Number_Tick0Context * ctx) { +PythonAPI::evalScript("exitNumber_Tick0", this, (ParserRuleContext*) ctx); +} + + void enterNumber_Tick1(SV3_1aParser::Number_Tick1Context * ctx) { +PythonAPI::evalScript("enterNumber_Tick1", this, (ParserRuleContext*) ctx); +} + + void exitNumber_Tick1(SV3_1aParser::Number_Tick1Context * ctx) { +PythonAPI::evalScript("exitNumber_Tick1", this, (ParserRuleContext*) ctx); +} + + void enterNumber_1Tickbx(SV3_1aParser::Number_1TickbxContext * ctx) { +PythonAPI::evalScript("enterNumber_1Tickbx", this, (ParserRuleContext*) ctx); +} + + void exitNumber_1Tickbx(SV3_1aParser::Number_1TickbxContext * ctx) { +PythonAPI::evalScript("exitNumber_1Tickbx", this, (ParserRuleContext*) ctx); +} + + void enterNumber_1TickbX(SV3_1aParser::Number_1TickbXContext * ctx) { +PythonAPI::evalScript("enterNumber_1TickbX", this, (ParserRuleContext*) ctx); +} + + void exitNumber_1TickbX(SV3_1aParser::Number_1TickbXContext * ctx) { +PythonAPI::evalScript("exitNumber_1TickbX", this, (ParserRuleContext*) ctx); +} + + void enterNumber_1TickBx(SV3_1aParser::Number_1TickBxContext * ctx) { +PythonAPI::evalScript("enterNumber_1TickBx", this, (ParserRuleContext*) ctx); +} + + void exitNumber_1TickBx(SV3_1aParser::Number_1TickBxContext * ctx) { +PythonAPI::evalScript("exitNumber_1TickBx", this, (ParserRuleContext*) ctx); +} + + void enterNumber_1TickBX(SV3_1aParser::Number_1TickBXContext * ctx) { +PythonAPI::evalScript("enterNumber_1TickBX", this, (ParserRuleContext*) ctx); +} + + void exitNumber_1TickBX(SV3_1aParser::Number_1TickBXContext * ctx) { +PythonAPI::evalScript("exitNumber_1TickBX", this, (ParserRuleContext*) ctx); +} + + void enterUnbased_unsized_literal(SV3_1aParser::Unbased_unsized_literalContext * ctx) { +PythonAPI::evalScript("enterUnbased_unsized_literal", this, (ParserRuleContext*) ctx); +} + + void exitUnbased_unsized_literal(SV3_1aParser::Unbased_unsized_literalContext * ctx) { +PythonAPI::evalScript("exitUnbased_unsized_literal", this, (ParserRuleContext*) ctx); +} + + void enterAttribute_instance(SV3_1aParser::Attribute_instanceContext * ctx) { +PythonAPI::evalScript("enterAttribute_instance", this, (ParserRuleContext*) ctx); +} + + void exitAttribute_instance(SV3_1aParser::Attribute_instanceContext * ctx) { +PythonAPI::evalScript("exitAttribute_instance", this, (ParserRuleContext*) ctx); +} + + void enterAttr_spec(SV3_1aParser::Attr_specContext * ctx) { +PythonAPI::evalScript("enterAttr_spec", this, (ParserRuleContext*) ctx); +} + + void exitAttr_spec(SV3_1aParser::Attr_specContext * ctx) { +PythonAPI::evalScript("exitAttr_spec", this, (ParserRuleContext*) ctx); +} + + void enterAttr_name(SV3_1aParser::Attr_nameContext * ctx) { +PythonAPI::evalScript("enterAttr_name", this, (ParserRuleContext*) ctx); +} + + void exitAttr_name(SV3_1aParser::Attr_nameContext * ctx) { +PythonAPI::evalScript("exitAttr_name", this, (ParserRuleContext*) ctx); +} + + void enterHierarchical_identifier(SV3_1aParser::Hierarchical_identifierContext * ctx) { +PythonAPI::evalScript("enterHierarchical_identifier", this, (ParserRuleContext*) ctx); +} + + void exitHierarchical_identifier(SV3_1aParser::Hierarchical_identifierContext * ctx) { +PythonAPI::evalScript("exitHierarchical_identifier", this, (ParserRuleContext*) ctx); +} + + void enterIdentifier(SV3_1aParser::IdentifierContext * ctx) { +PythonAPI::evalScript("enterIdentifier", this, (ParserRuleContext*) ctx); +} + + void exitIdentifier(SV3_1aParser::IdentifierContext * ctx) { +PythonAPI::evalScript("exitIdentifier", this, (ParserRuleContext*) ctx); +} + + void enterInterface_identifier(SV3_1aParser::Interface_identifierContext * ctx) { +PythonAPI::evalScript("enterInterface_identifier", this, (ParserRuleContext*) ctx); +} + + void exitInterface_identifier(SV3_1aParser::Interface_identifierContext * ctx) { +PythonAPI::evalScript("exitInterface_identifier", this, (ParserRuleContext*) ctx); +} + + void enterPackage_scope(SV3_1aParser::Package_scopeContext * ctx) { +PythonAPI::evalScript("enterPackage_scope", this, (ParserRuleContext*) ctx); +} + + void exitPackage_scope(SV3_1aParser::Package_scopeContext * ctx) { +PythonAPI::evalScript("exitPackage_scope", this, (ParserRuleContext*) ctx); +} + + void enterPs_identifier(SV3_1aParser::Ps_identifierContext * ctx) { +PythonAPI::evalScript("enterPs_identifier", this, (ParserRuleContext*) ctx); +} + + void exitPs_identifier(SV3_1aParser::Ps_identifierContext * ctx) { +PythonAPI::evalScript("exitPs_identifier", this, (ParserRuleContext*) ctx); +} + + void enterPs_or_hierarchical_identifier(SV3_1aParser::Ps_or_hierarchical_identifierContext * ctx) { +PythonAPI::evalScript("enterPs_or_hierarchical_identifier", this, (ParserRuleContext*) ctx); +} + + void exitPs_or_hierarchical_identifier(SV3_1aParser::Ps_or_hierarchical_identifierContext * ctx) { +PythonAPI::evalScript("exitPs_or_hierarchical_identifier", this, (ParserRuleContext*) ctx); +} + + void enterPs_or_hierarchical_array_identifier(SV3_1aParser::Ps_or_hierarchical_array_identifierContext * ctx) { +PythonAPI::evalScript("enterPs_or_hierarchical_array_identifier", this, (ParserRuleContext*) ctx); +} + + void exitPs_or_hierarchical_array_identifier(SV3_1aParser::Ps_or_hierarchical_array_identifierContext * ctx) { +PythonAPI::evalScript("exitPs_or_hierarchical_array_identifier", this, (ParserRuleContext*) ctx); +} + + void enterPs_or_hierarchical_sequence_identifier(SV3_1aParser::Ps_or_hierarchical_sequence_identifierContext * ctx) { +PythonAPI::evalScript("enterPs_or_hierarchical_sequence_identifier", this, (ParserRuleContext*) ctx); +} + + void exitPs_or_hierarchical_sequence_identifier(SV3_1aParser::Ps_or_hierarchical_sequence_identifierContext * ctx) { +PythonAPI::evalScript("exitPs_or_hierarchical_sequence_identifier", this, (ParserRuleContext*) ctx); +} + + void enterPs_type_identifier(SV3_1aParser::Ps_type_identifierContext * ctx) { +PythonAPI::evalScript("enterPs_type_identifier", this, (ParserRuleContext*) ctx); +} + + void exitPs_type_identifier(SV3_1aParser::Ps_type_identifierContext * ctx) { +PythonAPI::evalScript("exitPs_type_identifier", this, (ParserRuleContext*) ctx); +} + + void enterSystem_task(SV3_1aParser::System_taskContext * ctx) { +PythonAPI::evalScript("enterSystem_task", this, (ParserRuleContext*) ctx); +} + + void exitSystem_task(SV3_1aParser::System_taskContext * ctx) { +PythonAPI::evalScript("exitSystem_task", this, (ParserRuleContext*) ctx); +} + + void enterSystem_task_names(SV3_1aParser::System_task_namesContext * ctx) { +PythonAPI::evalScript("enterSystem_task_names", this, (ParserRuleContext*) ctx); +} + + void exitSystem_task_names(SV3_1aParser::System_task_namesContext * ctx) { +PythonAPI::evalScript("exitSystem_task_names", this, (ParserRuleContext*) ctx); +} + + void enterTop_directives(SV3_1aParser::Top_directivesContext * ctx) { +PythonAPI::evalScript("enterTop_directives", this, (ParserRuleContext*) ctx); +} + + void exitTop_directives(SV3_1aParser::Top_directivesContext * ctx) { +PythonAPI::evalScript("exitTop_directives", this, (ParserRuleContext*) ctx); +} + + void enterPragma_directive(SV3_1aParser::Pragma_directiveContext * ctx) { +PythonAPI::evalScript("enterPragma_directive", this, (ParserRuleContext*) ctx); +} + + void exitPragma_directive(SV3_1aParser::Pragma_directiveContext * ctx) { +PythonAPI::evalScript("exitPragma_directive", this, (ParserRuleContext*) ctx); +} + + void enterPragma_expression(SV3_1aParser::Pragma_expressionContext * ctx) { +PythonAPI::evalScript("enterPragma_expression", this, (ParserRuleContext*) ctx); +} + + void exitPragma_expression(SV3_1aParser::Pragma_expressionContext * ctx) { +PythonAPI::evalScript("exitPragma_expression", this, (ParserRuleContext*) ctx); +} + + void enterPragma_value(SV3_1aParser::Pragma_valueContext * ctx) { +PythonAPI::evalScript("enterPragma_value", this, (ParserRuleContext*) ctx); +} + + void exitPragma_value(SV3_1aParser::Pragma_valueContext * ctx) { +PythonAPI::evalScript("exitPragma_value", this, (ParserRuleContext*) ctx); +} + + void enterTimescale_directive(SV3_1aParser::Timescale_directiveContext * ctx) { +PythonAPI::evalScript("enterTimescale_directive", this, (ParserRuleContext*) ctx); +} + + void exitTimescale_directive(SV3_1aParser::Timescale_directiveContext * ctx) { +PythonAPI::evalScript("exitTimescale_directive", this, (ParserRuleContext*) ctx); +} + + void enterBegin_keywords_directive(SV3_1aParser::Begin_keywords_directiveContext * ctx) { +PythonAPI::evalScript("enterBegin_keywords_directive", this, (ParserRuleContext*) ctx); +} + + void exitBegin_keywords_directive(SV3_1aParser::Begin_keywords_directiveContext * ctx) { +PythonAPI::evalScript("exitBegin_keywords_directive", this, (ParserRuleContext*) ctx); +} + + void enterEnd_keywords_directive(SV3_1aParser::End_keywords_directiveContext * ctx) { +PythonAPI::evalScript("enterEnd_keywords_directive", this, (ParserRuleContext*) ctx); +} + + void exitEnd_keywords_directive(SV3_1aParser::End_keywords_directiveContext * ctx) { +PythonAPI::evalScript("exitEnd_keywords_directive", this, (ParserRuleContext*) ctx); +} + + void enterUnconnected_drive_directive(SV3_1aParser::Unconnected_drive_directiveContext * ctx) { +PythonAPI::evalScript("enterUnconnected_drive_directive", this, (ParserRuleContext*) ctx); +} + + void exitUnconnected_drive_directive(SV3_1aParser::Unconnected_drive_directiveContext * ctx) { +PythonAPI::evalScript("exitUnconnected_drive_directive", this, (ParserRuleContext*) ctx); +} + + void enterNounconnected_drive_directive(SV3_1aParser::Nounconnected_drive_directiveContext * ctx) { +PythonAPI::evalScript("enterNounconnected_drive_directive", this, (ParserRuleContext*) ctx); +} + + void exitNounconnected_drive_directive(SV3_1aParser::Nounconnected_drive_directiveContext * ctx) { +PythonAPI::evalScript("exitNounconnected_drive_directive", this, (ParserRuleContext*) ctx); +} + + void enterDefault_nettype_directive(SV3_1aParser::Default_nettype_directiveContext * ctx) { +PythonAPI::evalScript("enterDefault_nettype_directive", this, (ParserRuleContext*) ctx); +} + + void exitDefault_nettype_directive(SV3_1aParser::Default_nettype_directiveContext * ctx) { +PythonAPI::evalScript("exitDefault_nettype_directive", this, (ParserRuleContext*) ctx); +} + + void enterUselib_directive(SV3_1aParser::Uselib_directiveContext * ctx) { +PythonAPI::evalScript("enterUselib_directive", this, (ParserRuleContext*) ctx); +} + + void exitUselib_directive(SV3_1aParser::Uselib_directiveContext * ctx) { +PythonAPI::evalScript("exitUselib_directive", this, (ParserRuleContext*) ctx); +} + + void enterCelldefine_directive(SV3_1aParser::Celldefine_directiveContext * ctx) { +PythonAPI::evalScript("enterCelldefine_directive", this, (ParserRuleContext*) ctx); +} + + void exitCelldefine_directive(SV3_1aParser::Celldefine_directiveContext * ctx) { +PythonAPI::evalScript("exitCelldefine_directive", this, (ParserRuleContext*) ctx); +} + + void enterEndcelldefine_directive(SV3_1aParser::Endcelldefine_directiveContext * ctx) { +PythonAPI::evalScript("enterEndcelldefine_directive", this, (ParserRuleContext*) ctx); +} + + void exitEndcelldefine_directive(SV3_1aParser::Endcelldefine_directiveContext * ctx) { +PythonAPI::evalScript("exitEndcelldefine_directive", this, (ParserRuleContext*) ctx); +} + + void enterProtect_directive(SV3_1aParser::Protect_directiveContext * ctx) { +PythonAPI::evalScript("enterProtect_directive", this, (ParserRuleContext*) ctx); +} + + void exitProtect_directive(SV3_1aParser::Protect_directiveContext * ctx) { +PythonAPI::evalScript("exitProtect_directive", this, (ParserRuleContext*) ctx); +} + + void enterEndprotect_directive(SV3_1aParser::Endprotect_directiveContext * ctx) { +PythonAPI::evalScript("enterEndprotect_directive", this, (ParserRuleContext*) ctx); +} + + void exitEndprotect_directive(SV3_1aParser::Endprotect_directiveContext * ctx) { +PythonAPI::evalScript("exitEndprotect_directive", this, (ParserRuleContext*) ctx); +} + + void enterProtected_directive(SV3_1aParser::Protected_directiveContext * ctx) { +PythonAPI::evalScript("enterProtected_directive", this, (ParserRuleContext*) ctx); +} + + void exitProtected_directive(SV3_1aParser::Protected_directiveContext * ctx) { +PythonAPI::evalScript("exitProtected_directive", this, (ParserRuleContext*) ctx); +} + + void enterEndprotected_directive(SV3_1aParser::Endprotected_directiveContext * ctx) { +PythonAPI::evalScript("enterEndprotected_directive", this, (ParserRuleContext*) ctx); +} + + void exitEndprotected_directive(SV3_1aParser::Endprotected_directiveContext * ctx) { +PythonAPI::evalScript("exitEndprotected_directive", this, (ParserRuleContext*) ctx); +} + + void enterExpand_vectornets_directive(SV3_1aParser::Expand_vectornets_directiveContext * ctx) { +PythonAPI::evalScript("enterExpand_vectornets_directive", this, (ParserRuleContext*) ctx); +} + + void exitExpand_vectornets_directive(SV3_1aParser::Expand_vectornets_directiveContext * ctx) { +PythonAPI::evalScript("exitExpand_vectornets_directive", this, (ParserRuleContext*) ctx); +} + + void enterNoexpand_vectornets_directive(SV3_1aParser::Noexpand_vectornets_directiveContext * ctx) { +PythonAPI::evalScript("enterNoexpand_vectornets_directive", this, (ParserRuleContext*) ctx); +} + + void exitNoexpand_vectornets_directive(SV3_1aParser::Noexpand_vectornets_directiveContext * ctx) { +PythonAPI::evalScript("exitNoexpand_vectornets_directive", this, (ParserRuleContext*) ctx); +} + + void enterAutoexpand_vectornets_directive(SV3_1aParser::Autoexpand_vectornets_directiveContext * ctx) { +PythonAPI::evalScript("enterAutoexpand_vectornets_directive", this, (ParserRuleContext*) ctx); +} + + void exitAutoexpand_vectornets_directive(SV3_1aParser::Autoexpand_vectornets_directiveContext * ctx) { +PythonAPI::evalScript("exitAutoexpand_vectornets_directive", this, (ParserRuleContext*) ctx); +} + + void enterDisable_portfaults_directive(SV3_1aParser::Disable_portfaults_directiveContext * ctx) { +PythonAPI::evalScript("enterDisable_portfaults_directive", this, (ParserRuleContext*) ctx); +} + + void exitDisable_portfaults_directive(SV3_1aParser::Disable_portfaults_directiveContext * ctx) { +PythonAPI::evalScript("exitDisable_portfaults_directive", this, (ParserRuleContext*) ctx); +} + + void enterEnable_portfaults_directive(SV3_1aParser::Enable_portfaults_directiveContext * ctx) { +PythonAPI::evalScript("enterEnable_portfaults_directive", this, (ParserRuleContext*) ctx); +} + + void exitEnable_portfaults_directive(SV3_1aParser::Enable_portfaults_directiveContext * ctx) { +PythonAPI::evalScript("exitEnable_portfaults_directive", this, (ParserRuleContext*) ctx); +} + + void enterNosuppress_faults_directive(SV3_1aParser::Nosuppress_faults_directiveContext * ctx) { +PythonAPI::evalScript("enterNosuppress_faults_directive", this, (ParserRuleContext*) ctx); +} + + void exitNosuppress_faults_directive(SV3_1aParser::Nosuppress_faults_directiveContext * ctx) { +PythonAPI::evalScript("exitNosuppress_faults_directive", this, (ParserRuleContext*) ctx); +} + + void enterSuppress_faults_directive(SV3_1aParser::Suppress_faults_directiveContext * ctx) { +PythonAPI::evalScript("enterSuppress_faults_directive", this, (ParserRuleContext*) ctx); +} + + void exitSuppress_faults_directive(SV3_1aParser::Suppress_faults_directiveContext * ctx) { +PythonAPI::evalScript("exitSuppress_faults_directive", this, (ParserRuleContext*) ctx); +} + + void enterSigned_directive(SV3_1aParser::Signed_directiveContext * ctx) { +PythonAPI::evalScript("enterSigned_directive", this, (ParserRuleContext*) ctx); +} + + void exitSigned_directive(SV3_1aParser::Signed_directiveContext * ctx) { +PythonAPI::evalScript("exitSigned_directive", this, (ParserRuleContext*) ctx); +} + + void enterUnsigned_directive(SV3_1aParser::Unsigned_directiveContext * ctx) { +PythonAPI::evalScript("enterUnsigned_directive", this, (ParserRuleContext*) ctx); +} + + void exitUnsigned_directive(SV3_1aParser::Unsigned_directiveContext * ctx) { +PythonAPI::evalScript("exitUnsigned_directive", this, (ParserRuleContext*) ctx); +} + + void enterRemove_gatename_directive(SV3_1aParser::Remove_gatename_directiveContext * ctx) { +PythonAPI::evalScript("enterRemove_gatename_directive", this, (ParserRuleContext*) ctx); +} + + void exitRemove_gatename_directive(SV3_1aParser::Remove_gatename_directiveContext * ctx) { +PythonAPI::evalScript("exitRemove_gatename_directive", this, (ParserRuleContext*) ctx); +} + + void enterNoremove_gatenames_directive(SV3_1aParser::Noremove_gatenames_directiveContext * ctx) { +PythonAPI::evalScript("enterNoremove_gatenames_directive", this, (ParserRuleContext*) ctx); +} + + void exitNoremove_gatenames_directive(SV3_1aParser::Noremove_gatenames_directiveContext * ctx) { +PythonAPI::evalScript("exitNoremove_gatenames_directive", this, (ParserRuleContext*) ctx); +} + + void enterRemove_netname_directive(SV3_1aParser::Remove_netname_directiveContext * ctx) { +PythonAPI::evalScript("enterRemove_netname_directive", this, (ParserRuleContext*) ctx); +} + + void exitRemove_netname_directive(SV3_1aParser::Remove_netname_directiveContext * ctx) { +PythonAPI::evalScript("exitRemove_netname_directive", this, (ParserRuleContext*) ctx); +} + + void enterNoremove_netnames_directive(SV3_1aParser::Noremove_netnames_directiveContext * ctx) { +PythonAPI::evalScript("enterNoremove_netnames_directive", this, (ParserRuleContext*) ctx); +} + + void exitNoremove_netnames_directive(SV3_1aParser::Noremove_netnames_directiveContext * ctx) { +PythonAPI::evalScript("exitNoremove_netnames_directive", this, (ParserRuleContext*) ctx); +} + + void enterAccelerate_directive(SV3_1aParser::Accelerate_directiveContext * ctx) { +PythonAPI::evalScript("enterAccelerate_directive", this, (ParserRuleContext*) ctx); +} + + void exitAccelerate_directive(SV3_1aParser::Accelerate_directiveContext * ctx) { +PythonAPI::evalScript("exitAccelerate_directive", this, (ParserRuleContext*) ctx); +} + + void enterNoaccelerate_directive(SV3_1aParser::Noaccelerate_directiveContext * ctx) { +PythonAPI::evalScript("enterNoaccelerate_directive", this, (ParserRuleContext*) ctx); +} + + void exitNoaccelerate_directive(SV3_1aParser::Noaccelerate_directiveContext * ctx) { +PythonAPI::evalScript("exitNoaccelerate_directive", this, (ParserRuleContext*) ctx); +} + + void enterDefault_trireg_strenght_directive(SV3_1aParser::Default_trireg_strenght_directiveContext * ctx) { +PythonAPI::evalScript("enterDefault_trireg_strenght_directive", this, (ParserRuleContext*) ctx); +} + + void exitDefault_trireg_strenght_directive(SV3_1aParser::Default_trireg_strenght_directiveContext * ctx) { +PythonAPI::evalScript("exitDefault_trireg_strenght_directive", this, (ParserRuleContext*) ctx); +} + + void enterDefault_decay_time_directive(SV3_1aParser::Default_decay_time_directiveContext * ctx) { +PythonAPI::evalScript("enterDefault_decay_time_directive", this, (ParserRuleContext*) ctx); +} + + void exitDefault_decay_time_directive(SV3_1aParser::Default_decay_time_directiveContext * ctx) { +PythonAPI::evalScript("exitDefault_decay_time_directive", this, (ParserRuleContext*) ctx); +} + + void enterDelay_mode_distributed_directive(SV3_1aParser::Delay_mode_distributed_directiveContext * ctx) { +PythonAPI::evalScript("enterDelay_mode_distributed_directive", this, (ParserRuleContext*) ctx); +} + + void exitDelay_mode_distributed_directive(SV3_1aParser::Delay_mode_distributed_directiveContext * ctx) { +PythonAPI::evalScript("exitDelay_mode_distributed_directive", this, (ParserRuleContext*) ctx); +} + + void enterDelay_mode_path_directive(SV3_1aParser::Delay_mode_path_directiveContext * ctx) { +PythonAPI::evalScript("enterDelay_mode_path_directive", this, (ParserRuleContext*) ctx); +} + + void exitDelay_mode_path_directive(SV3_1aParser::Delay_mode_path_directiveContext * ctx) { +PythonAPI::evalScript("exitDelay_mode_path_directive", this, (ParserRuleContext*) ctx); +} + + void enterDelay_mode_unit_directive(SV3_1aParser::Delay_mode_unit_directiveContext * ctx) { +PythonAPI::evalScript("enterDelay_mode_unit_directive", this, (ParserRuleContext*) ctx); +} + + void exitDelay_mode_unit_directive(SV3_1aParser::Delay_mode_unit_directiveContext * ctx) { +PythonAPI::evalScript("exitDelay_mode_unit_directive", this, (ParserRuleContext*) ctx); +} + + void enterDelay_mode_zero_directive(SV3_1aParser::Delay_mode_zero_directiveContext * ctx) { +PythonAPI::evalScript("enterDelay_mode_zero_directive", this, (ParserRuleContext*) ctx); +} + + void exitDelay_mode_zero_directive(SV3_1aParser::Delay_mode_zero_directiveContext * ctx) { +PythonAPI::evalScript("exitDelay_mode_zero_directive", this, (ParserRuleContext*) ctx); +} + + void enterSurelog_macro_not_defined(SV3_1aParser::Surelog_macro_not_definedContext * ctx) { +PythonAPI::evalScript("enterSurelog_macro_not_defined", this, (ParserRuleContext*) ctx); +} + + void exitSurelog_macro_not_defined(SV3_1aParser::Surelog_macro_not_definedContext * ctx) { +PythonAPI::evalScript("exitSurelog_macro_not_defined", this, (ParserRuleContext*) ctx); +} + + void enterSlline(SV3_1aParser::SllineContext * ctx) { +PythonAPI::evalScript("enterSlline", this, (ParserRuleContext*) ctx); +} + + void exitSlline(SV3_1aParser::SllineContext * ctx) { +PythonAPI::evalScript("exitSlline", this, (ParserRuleContext*) ctx); +} + + void enterEndconfig(SV3_1aParser::EndconfigContext * ctx) { +PythonAPI::evalScript("enterEndconfig", this, (ParserRuleContext*) ctx); +} + + void exitEndconfig(SV3_1aParser::EndconfigContext * ctx) { +PythonAPI::evalScript("exitEndconfig", this, (ParserRuleContext*) ctx); +} + + void enterConfig_declaration(SV3_1aParser::Config_declarationContext * ctx) { +PythonAPI::evalScript("enterConfig_declaration", this, (ParserRuleContext*) ctx); +} + + void exitConfig_declaration(SV3_1aParser::Config_declarationContext * ctx) { +PythonAPI::evalScript("exitConfig_declaration", this, (ParserRuleContext*) ctx); +} + + void enterDesign_statement(SV3_1aParser::Design_statementContext * ctx) { +PythonAPI::evalScript("enterDesign_statement", this, (ParserRuleContext*) ctx); +} + + void exitDesign_statement(SV3_1aParser::Design_statementContext * ctx) { +PythonAPI::evalScript("exitDesign_statement", this, (ParserRuleContext*) ctx); +} + + void enterConfig_rule_statement(SV3_1aParser::Config_rule_statementContext * ctx) { +PythonAPI::evalScript("enterConfig_rule_statement", this, (ParserRuleContext*) ctx); +} + + void exitConfig_rule_statement(SV3_1aParser::Config_rule_statementContext * ctx) { +PythonAPI::evalScript("exitConfig_rule_statement", this, (ParserRuleContext*) ctx); +} + + void enterDefault_clause(SV3_1aParser::Default_clauseContext * ctx) { +PythonAPI::evalScript("enterDefault_clause", this, (ParserRuleContext*) ctx); +} + + void exitDefault_clause(SV3_1aParser::Default_clauseContext * ctx) { +PythonAPI::evalScript("exitDefault_clause", this, (ParserRuleContext*) ctx); +} + + void enterInst_clause(SV3_1aParser::Inst_clauseContext * ctx) { +PythonAPI::evalScript("enterInst_clause", this, (ParserRuleContext*) ctx); +} + + void exitInst_clause(SV3_1aParser::Inst_clauseContext * ctx) { +PythonAPI::evalScript("exitInst_clause", this, (ParserRuleContext*) ctx); +} + + void enterInst_name(SV3_1aParser::Inst_nameContext * ctx) { +PythonAPI::evalScript("enterInst_name", this, (ParserRuleContext*) ctx); +} + + void exitInst_name(SV3_1aParser::Inst_nameContext * ctx) { +PythonAPI::evalScript("exitInst_name", this, (ParserRuleContext*) ctx); +} + + void enterCell_clause(SV3_1aParser::Cell_clauseContext * ctx) { +PythonAPI::evalScript("enterCell_clause", this, (ParserRuleContext*) ctx); +} + + void exitCell_clause(SV3_1aParser::Cell_clauseContext * ctx) { +PythonAPI::evalScript("exitCell_clause", this, (ParserRuleContext*) ctx); +} + + void enterLiblist_clause(SV3_1aParser::Liblist_clauseContext * ctx) { +PythonAPI::evalScript("enterLiblist_clause", this, (ParserRuleContext*) ctx); +} + + void exitLiblist_clause(SV3_1aParser::Liblist_clauseContext * ctx) { +PythonAPI::evalScript("exitLiblist_clause", this, (ParserRuleContext*) ctx); +} + + void enterUse_clause_config(SV3_1aParser::Use_clause_configContext * ctx) { +PythonAPI::evalScript("enterUse_clause_config", this, (ParserRuleContext*) ctx); +} + + void exitUse_clause_config(SV3_1aParser::Use_clause_configContext * ctx) { +PythonAPI::evalScript("exitUse_clause_config", this, (ParserRuleContext*) ctx); +} + + void enterUse_clause(SV3_1aParser::Use_clauseContext * ctx) { +PythonAPI::evalScript("enterUse_clause", this, (ParserRuleContext*) ctx); +} + + void exitUse_clause(SV3_1aParser::Use_clauseContext * ctx) { +PythonAPI::evalScript("exitUse_clause", this, (ParserRuleContext*) ctx); +} + + void enterEveryRule(antlr4::ParserRuleContext * ctx) { +PythonAPI::evalScript("enterEveryRule", this, (ParserRuleContext*) ctx); +} + + void exitEveryRule(antlr4::ParserRuleContext * ctx) { +PythonAPI::evalScript("exitEveryRule", this, (ParserRuleContext*) ctx); +} + + void visitTerminal(antlr4::tree::TerminalNode * node) { +PythonAPI::evalScript("visitTerminal", this, (ParserRuleContext*) node); +} + + void visitErrorNode(antlr4::tree::ErrorNode * node) { +PythonAPI::evalScript("visitErrorNode", this, (ParserRuleContext*) node); +} + + + +}; +}; +#endif /* SV3_1APYTHONLISTENER_H */
diff --git a/src/API/slapi.h b/src/API/slapi.h new file mode 100644 index 0000000..3453a0c --- /dev/null +++ b/src/API/slapi.h
@@ -0,0 +1,302 @@ +std::vector<std::string> slapi_scripts = { +"import slapi\n" +"def SLsetWaiver(messageId, fileName=None, line=0, objectName=None):\n" +" return slapi.SLsetWaiver(messageId, fileName, line, objectName)\n" +"SLsetWaiver = slapi.SLsetWaiver\n" +"\n" +"def SLoverrideSeverity(messageId, severity):\n" +" return slapi.SLoverrideSeverity(messageId, severity)\n" +"SLoverrideSeverity = slapi.SLoverrideSeverity\n" +"\n" +"def SLregisterNewErrorType(messageId, text, secondLine):\n" +" return slapi.SLregisterNewErrorType(messageId, text, secondLine)\n" +"SLregisterNewErrorType = slapi.SLregisterNewErrorType\n" +"\n" +"def SLaddError(container, messageId, fileName, line, col, objectName):\n" +" return slapi.SLaddError(container, messageId, fileName, line, col, objectName)\n" +"SLaddError = slapi.SLaddError\n" +"\n" +"def SLaddErrorContext(prog, context, messageId, objectName, printColumn=False):\n" +" return slapi.SLaddErrorContext(prog, context, messageId, objectName, printColumn)\n" +"SLaddErrorContext = slapi.SLaddErrorContext\n" +"\n" +"def SLaddMLErrorContext(prog, context1, context2, messageId, objectName1, objectName2, printColumn=False):\n" +" return slapi.SLaddMLErrorContext(prog, context1, context2, messageId, objectName1, objectName2, printColumn)\n" +"SLaddMLErrorContext = slapi.SLaddMLErrorContext\n" +"\n" +"def SLaddMLError(container, messageId, fileName1, line1, col1, objectName1, fileName2, line2, col2, objectName2):\n" +" return slapi.SLaddMLError(container, messageId, fileName1, line1, col1, objectName1, fileName2, line2, col2, objectName2)\n" +"SLaddMLError = slapi.SLaddMLError\n" +"\n" +"def SLgetColumn(prog, context):\n" +" return slapi.SLgetColumn(prog, context)\n" +"SLgetColumn = slapi.SLgetColumn\n" +"\n" +"def SLgetText(prog, context):\n" +" return slapi.SLgetText(prog, context)\n" +"SLgetText = slapi.SLgetText\n" +"\n" +"def SLgetTokens(prog, context):\n" +" return slapi.SLgetTokens(prog, context)\n" +"SLgetTokens = slapi.SLgetTokens\n" +"\n" +"def SLgetParentContext(prog, context):\n" +" return slapi.SLgetParentContext(prog, context)\n" +"SLgetParentContext = slapi.SLgetParentContext\n" +"\n" +"def SLgetChildrenContext(prog, context):\n" +" return slapi.SLgetChildrenContext(prog, context)\n" +"SLgetChildrenContext = slapi.SLgetChildrenContext\n" +"\n" +"def SLgetRootNode(fC):\n" +" return slapi.SLgetRootNode(fC)\n" +"SLgetRootNode = slapi.SLgetRootNode\n" +"\n" +"def SLgetFile(*args):\n" +" return slapi.SLgetFile(*args)\n" +"SLgetFile = slapi.SLgetFile\n" +"\n" +"def SLgetSibling(fC, index):\n" +" return slapi.SLgetSibling(fC, index)\n" +"SLgetSibling = slapi.SLgetSibling\n" +"\n" +"def SLgetLine(*args):\n" +" return slapi.SLgetLine(*args)\n" +"SLgetLine = slapi.SLgetLine\n" +"\n" +"def SLgetName(fC, index):\n" +" return slapi.SLgetName(fC, index)\n" +"SLgetName = slapi.SLgetName\n" +"\n" +"def SLgetType(fC, index):\n" +" return slapi.SLgetType(fC, index)\n" +"SLgetType = slapi.SLgetType\n" +"\n" +"def SLgetChild(*args):\n" +" return slapi.SLgetChild(*args)\n" +"SLgetChild = slapi.SLgetChild\n" +"\n" +"def SLgetParent(*args):\n" +" return slapi.SLgetParent(*args)\n" +"SLgetParent = slapi.SLgetParent\n" +"\n" +"def SLgetAll(*args):\n" +" return slapi.SLgetAll(*args)\n" +"SLgetAll = slapi.SLgetAll\n" +"\n" +"def SLcollect(fC, parent, type):\n" +" return slapi.SLcollect(fC, parent, type)\n" +"SLcollect = slapi.SLcollect\n" +"\n" +"def SLcollectAll(*args):\n" +" return slapi.SLcollectAll(*args)\n" +"SLcollectAll = slapi.SLcollectAll\n" +"\n" +"def SLgetnModuleDefinition(design):\n" +" return slapi.SLgetnModuleDefinition(design)\n" +"SLgetnModuleDefinition = slapi.SLgetnModuleDefinition\n" +"\n" +"def SLgetnProgramDefinition(design):\n" +" return slapi.SLgetnProgramDefinition(design)\n" +"SLgetnProgramDefinition = slapi.SLgetnProgramDefinition\n" +"\n" +"def SLgetnPackageDefinition(design):\n" +" return slapi.SLgetnPackageDefinition(design)\n" +"SLgetnPackageDefinition = slapi.SLgetnPackageDefinition\n" +"\n" +"def SLgetnClassDefinition(design):\n" +" return slapi.SLgetnClassDefinition(design)\n" +"SLgetnClassDefinition = slapi.SLgetnClassDefinition\n" +"\n" +"def SLgetnTopModuleInstance(design):\n" +" return slapi.SLgetnTopModuleInstance(design)\n" +"SLgetnTopModuleInstance = slapi.SLgetnTopModuleInstance\n" +"\n" +"def SLgetModuleDefinition(design, index):\n" +" return slapi.SLgetModuleDefinition(design, index)\n" +"SLgetModuleDefinition = slapi.SLgetModuleDefinition\n" +"\n" +"def SLgetProgramDefinition(design, index):\n" +" return slapi.SLgetProgramDefinition(design, index)\n" +"SLgetProgramDefinition = slapi.SLgetProgramDefinition\n" +"\n" +"def SLgetPackageDefinition(design, index):\n" +" return slapi.SLgetPackageDefinition(design, index)\n" +"SLgetPackageDefinition = slapi.SLgetPackageDefinition\n" +"\n" +"def SLgetClassDefinition(design, index):\n" +" return slapi.SLgetClassDefinition(design, index)\n" +"SLgetClassDefinition = slapi.SLgetClassDefinition\n" +"\n" +"def SLgetTopModuleInstance(design, index):\n" +" return slapi.SLgetTopModuleInstance(design, index)\n" +"SLgetTopModuleInstance = slapi.SLgetTopModuleInstance\n" +"\n" +"def SLgetModuleName(module):\n" +" return slapi.SLgetModuleName(module)\n" +"SLgetModuleName = slapi.SLgetModuleName\n" +"\n" +"def SLgetModuleFile(module):\n" +" return slapi.SLgetModuleFile(module)\n" +"SLgetModuleFile = slapi.SLgetModuleFile\n" +"\n" +"def SLgetModuleType(module):\n" +" return slapi.SLgetModuleType(module)\n" +"SLgetModuleType = slapi.SLgetModuleType\n" +"\n" +"def SLgetModuleLine(module):\n" +" return slapi.SLgetModuleLine(module)\n" +"SLgetModuleLine = slapi.SLgetModuleLine\n" +"\n" +"def SLgetModuleFileContent(module):\n" +" return slapi.SLgetModuleFileContent(module)\n" +"SLgetModuleFileContent = slapi.SLgetModuleFileContent\n" +"\n" +"def SLgetModuleRootNode(module):\n" +" return slapi.SLgetModuleRootNode(module)\n" +"SLgetModuleRootNode = slapi.SLgetModuleRootNode\n" +"\n" +"def SLgetClassName(arg1):\n" +" return slapi.SLgetClassName(arg1)\n" +"SLgetClassName = slapi.SLgetClassName\n" +"\n" +"def SLgetClassFile(arg1):\n" +" return slapi.SLgetClassFile(arg1)\n" +"SLgetClassFile = slapi.SLgetClassFile\n" +"\n" +"def SLgetClassType(arg1):\n" +" return slapi.SLgetClassType(arg1)\n" +"SLgetClassType = slapi.SLgetClassType\n" +"\n" +"def SLgetClassLine(arg1):\n" +" return slapi.SLgetClassLine(arg1)\n" +"SLgetClassLine = slapi.SLgetClassLine\n" +"\n" +"def SLgetClassFileContent(arg1):\n" +" return slapi.SLgetClassFileContent(arg1)\n" +"SLgetClassFileContent = slapi.SLgetClassFileContent\n" +"\n" +"def SLgetClassRootNode(arg1):\n" +" return slapi.SLgetClassRootNode(arg1)\n" +"SLgetClassRootNode = slapi.SLgetClassRootNode\n" +"\n" +"def SLgetPackageName(arg1):\n" +" return slapi.SLgetPackageName(arg1)\n" +"SLgetPackageName = slapi.SLgetPackageName\n" +"\n" +"def SLgetPackageFile(arg1):\n" +" return slapi.SLgetPackageFile(arg1)\n" +"SLgetPackageFile = slapi.SLgetPackageFile\n" +"\n" +"def SLgetPackageType(arg1):\n" +" return slapi.SLgetPackageType(arg1)\n" +"SLgetPackageType = slapi.SLgetPackageType\n" +"\n" +"def SLgetPackageLine(arg1):\n" +" return slapi.SLgetPackageLine(arg1)\n" +"SLgetPackageLine = slapi.SLgetPackageLine\n" +"\n" +"def SLgetPackageFileContent(arg1):\n" +" return slapi.SLgetPackageFileContent(arg1)\n" +"SLgetPackageFileContent = slapi.SLgetPackageFileContent\n" +"\n" +"def SLgetPackageRootNode(arg1):\n" +" return slapi.SLgetPackageRootNode(arg1)\n" +"SLgetPackageRootNode = slapi.SLgetPackageRootNode\n" +"\n" +"def SLgetProgramName(arg1):\n" +" return slapi.SLgetProgramName(arg1)\n" +"SLgetProgramName = slapi.SLgetProgramName\n" +"\n" +"def SLgetProgramFile(arg1):\n" +" return slapi.SLgetProgramFile(arg1)\n" +"SLgetProgramFile = slapi.SLgetProgramFile\n" +"\n" +"def SLgetProgramType(arg1):\n" +" return slapi.SLgetProgramType(arg1)\n" +"SLgetProgramType = slapi.SLgetProgramType\n" +"\n" +"def SLgetProgramLine(arg1):\n" +" return slapi.SLgetProgramLine(arg1)\n" +"SLgetProgramLine = slapi.SLgetProgramLine\n" +"\n" +"def SLgetProgramFileContent(arg1):\n" +" return slapi.SLgetProgramFileContent(arg1)\n" +"SLgetProgramFileContent = slapi.SLgetProgramFileContent\n" +"\n" +"def SLgetProgramRootNode(arg1):\n" +" return slapi.SLgetProgramRootNode(arg1)\n" +"SLgetProgramRootNode = slapi.SLgetProgramRootNode\n" +"\n" +"def SLgetInstanceType(instance):\n" +" return slapi.SLgetInstanceType(instance)\n" +"SLgetInstanceType = slapi.SLgetInstanceType\n" +"\n" +"def SLgetInstanceModuleType(instance):\n" +" return slapi.SLgetInstanceModuleType(instance)\n" +"SLgetInstanceModuleType = slapi.SLgetInstanceModuleType\n" +"\n" +"def SLgetInstanceName(instance):\n" +" return slapi.SLgetInstanceName(instance)\n" +"SLgetInstanceName = slapi.SLgetInstanceName\n" +"\n" +"def SLgetInstanceFullPathName(instance):\n" +" return slapi.SLgetInstanceFullPathName(instance)\n" +"SLgetInstanceFullPathName = slapi.SLgetInstanceFullPathName\n" +"\n" +"def SLgetInstanceModuleName(instance):\n" +" return slapi.SLgetInstanceModuleName(instance)\n" +"SLgetInstanceModuleName = slapi.SLgetInstanceModuleName\n" +"\n" +"def SLgetInstanceDefinition(instance):\n" +" return slapi.SLgetInstanceDefinition(instance)\n" +"SLgetInstanceDefinition = slapi.SLgetInstanceDefinition\n" +"\n" +"def SLgetInstanceFileName(instance):\n" +" return slapi.SLgetInstanceFileName(instance)\n" +"SLgetInstanceFileName = slapi.SLgetInstanceFileName\n" +"\n" +"def SLgetInstanceFileContent(instance):\n" +" return slapi.SLgetInstanceFileContent(instance)\n" +"SLgetInstanceFileContent = slapi.SLgetInstanceFileContent\n" +"\n" +"def SLgetInstanceNodeId(instance):\n" +" return slapi.SLgetInstanceNodeId(instance)\n" +"SLgetInstanceNodeId = slapi.SLgetInstanceNodeId\n" +"\n" +"def SLgetInstanceLine(instance):\n" +" return slapi.SLgetInstanceLine(instance)\n" +"SLgetInstanceLine = slapi.SLgetInstanceLine\n" +"\n" +"def SLgetnInstanceChildren(instance):\n" +" return slapi.SLgetnInstanceChildren(instance)\n" +"SLgetnInstanceChildren = slapi.SLgetnInstanceChildren\n" +"\n" +"def SLgetInstanceChildren(instance, i):\n" +" return slapi.SLgetInstanceChildren(instance, i)\n" +"SLgetInstanceChildren = slapi.SLgetInstanceChildren\n" +"\n" +"def SLgetInstanceParent(instance):\n" +" return slapi.SLgetInstanceParent(instance)\n" +"SLgetInstanceParent = slapi.SLgetInstanceParent\n" +"# This file is compatible with both classic and new-style classes.\n" +"\n" +"\n" +"\n" +"# SURELOG ERROR FORMATTING\n" +"\n" +"def SLformatMsg (severity, category, messageId, location, text):\n" +" chunks = []\n" +" chunks.append(\"[\")\n" +" chunks.append(severity)\n" +" chunks.append(\":\")\n" +" chunks.append(category)\n" +" chunks.append(messageId)\n" +" chunks.append(\"] \")\n" +" chunks.append(location)\n" +" chunks.append(text)\n" +" chunks.append(\"\\n\\n\")\n" +" result = ''.join(chunks)\n" +" return result\n" +"\n" +};
diff --git a/src/API/slapi_wrap.cxx b/src/API/slapi_wrap.cxx new file mode 100644 index 0000000..a9f81cb --- /dev/null +++ b/src/API/slapi_wrap.cxx
@@ -0,0 +1,11919 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.8 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + + +#ifndef SWIGPYTHON +#define SWIGPYTHON +#endif + +#define SWIG_PYTHON_DIRECTOR_NO_VTABLE + + +#ifdef __cplusplus +/* SwigValueWrapper is described in swig.swg */ +template<typename T> class SwigValueWrapper { + struct SwigMovePointer { + T *ptr; + SwigMovePointer(T *p) : ptr(p) { } + ~SwigMovePointer() { delete ptr; } + SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } + } pointer; + SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs); + SwigValueWrapper(const SwigValueWrapper<T>& rhs); +public: + SwigValueWrapper() : pointer(0) { } + SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; } + operator T&() const { return *pointer.ptr; } + T *operator&() { return pointer.ptr; } +}; + +template <typename T> T SwigValueInit() { + return T(); +} +#endif + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + +/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */ +#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES) +# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 +#endif + +/* Intel's compiler complains if a variable which was never initialised is + * cast to void, which is a common idiom which we use to indicate that we + * are aware a variable isn't used. So we just silence that warning. + * See: https://github.com/swig/swig/issues/192 for more discussion. + */ +#ifdef __INTEL_COMPILER +# pragma warning disable 592 +#endif + + +#if defined(_DEBUG) && defined(SWIG_PYTHON_INTERPRETER_NO_DEBUG) +/* Use debug wrappers with the Python release dll */ +# undef _DEBUG +# include <Python.h> +# define _DEBUG +#else +# include <Python.h> +#endif + +/* ----------------------------------------------------------------------------- + * swigrun.swg + * + * This file contains generic C API SWIG runtime support for pointer + * type checking. + * ----------------------------------------------------------------------------- */ + +/* This should only be incremented when either the layout of swig_type_info changes, + or for whatever reason, the runtime changes incompatibly */ +#define SWIG_RUNTIME_VERSION "4" + +/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ +#ifdef SWIG_TYPE_TABLE +# define SWIG_QUOTE_STRING(x) #x +# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) +# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) +#else +# define SWIG_TYPE_TABLE_NAME +#endif + +/* + You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for + creating a static or dynamic library from the SWIG runtime code. + In 99.9% of the cases, SWIG just needs to declare them as 'static'. + + But only do this if strictly necessary, ie, if you have problems + with your compiler or suchlike. +*/ + +#ifndef SWIGRUNTIME +# define SWIGRUNTIME SWIGINTERN +#endif + +#ifndef SWIGRUNTIMEINLINE +# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE +#endif + +/* Generic buffer size */ +#ifndef SWIG_BUFFER_SIZE +# define SWIG_BUFFER_SIZE 1024 +#endif + +/* Flags for pointer conversions */ +#define SWIG_POINTER_DISOWN 0x1 +#define SWIG_CAST_NEW_MEMORY 0x2 + +/* Flags for new pointer objects */ +#define SWIG_POINTER_OWN 0x1 + + +/* + Flags/methods for returning states. + + The SWIG conversion methods, as ConvertPtr, return an integer + that tells if the conversion was successful or not. And if not, + an error code can be returned (see swigerrors.swg for the codes). + + Use the following macros/flags to set or process the returning + states. + + In old versions of SWIG, code such as the following was usually written: + + if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { + // success code + } else { + //fail code + } + + Now you can be more explicit: + + int res = SWIG_ConvertPtr(obj,vptr,ty.flags); + if (SWIG_IsOK(res)) { + // success code + } else { + // fail code + } + + which is the same really, but now you can also do + + Type *ptr; + int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); + if (SWIG_IsOK(res)) { + // success code + if (SWIG_IsNewObj(res) { + ... + delete *ptr; + } else { + ... + } + } else { + // fail code + } + + I.e., now SWIG_ConvertPtr can return new objects and you can + identify the case and take care of the deallocation. Of course that + also requires SWIG_ConvertPtr to return new result values, such as + + int SWIG_ConvertPtr(obj, ptr,...) { + if (<obj is ok>) { + if (<need new object>) { + *ptr = <ptr to new allocated object>; + return SWIG_NEWOBJ; + } else { + *ptr = <ptr to old object>; + return SWIG_OLDOBJ; + } + } else { + return SWIG_BADOBJ; + } + } + + Of course, returning the plain '0(success)/-1(fail)' still works, but you can be + more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the + SWIG errors code. + + Finally, if the SWIG_CASTRANK_MODE is enabled, the result code + allows to return the 'cast rank', for example, if you have this + + int food(double) + int fooi(int); + + and you call + + food(1) // cast rank '1' (1 -> 1.0) + fooi(1) // cast rank '0' + + just use the SWIG_AddCast()/SWIG_CheckState() +*/ + +#define SWIG_OK (0) +#define SWIG_ERROR (-1) +#define SWIG_IsOK(r) (r >= 0) +#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) + +/* The CastRankLimit says how many bits are used for the cast rank */ +#define SWIG_CASTRANKLIMIT (1 << 8) +/* The NewMask denotes the object was created (using new/malloc) */ +#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) +/* The TmpMask is for in/out typemaps that use temporal objects */ +#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) +/* Simple returning values */ +#define SWIG_BADOBJ (SWIG_ERROR) +#define SWIG_OLDOBJ (SWIG_OK) +#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) +#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) +/* Check, add and del mask methods */ +#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) +#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) +#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) +#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) +#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) +#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) + +/* Cast-Rank Mode */ +#if defined(SWIG_CASTRANK_MODE) +# ifndef SWIG_TypeRank +# define SWIG_TypeRank unsigned long +# endif +# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ +# define SWIG_MAXCASTRANK (2) +# endif +# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) +# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) +SWIGINTERNINLINE int SWIG_AddCast(int r) { + return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; +} +SWIGINTERNINLINE int SWIG_CheckState(int r) { + return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; +} +#else /* no cast-rank mode */ +# define SWIG_AddCast(r) (r) +# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) +#endif + + +#include <string.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *(*swig_converter_func)(void *, int *); +typedef struct swig_type_info *(*swig_dycast_func)(void **); + +/* Structure to store information on one type */ +typedef struct swig_type_info { + const char *name; /* mangled name of this type */ + const char *str; /* human readable name of this type */ + swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ + struct swig_cast_info *cast; /* linked list of types that can cast into this type */ + void *clientdata; /* language specific type data */ + int owndata; /* flag if the structure owns the clientdata */ +} swig_type_info; + +/* Structure to store a type and conversion function used for casting */ +typedef struct swig_cast_info { + swig_type_info *type; /* pointer to type that is equivalent to this type */ + swig_converter_func converter; /* function to cast the void pointers */ + struct swig_cast_info *next; /* pointer to next cast in linked list */ + struct swig_cast_info *prev; /* pointer to the previous cast */ +} swig_cast_info; + +/* Structure used to store module information + * Each module generates one structure like this, and the runtime collects + * all of these structures and stores them in a circularly linked list.*/ +typedef struct swig_module_info { + swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ + size_t size; /* Number of types in this module */ + struct swig_module_info *next; /* Pointer to next element in circularly linked list */ + swig_type_info **type_initial; /* Array of initially generated type structures */ + swig_cast_info **cast_initial; /* Array of initially generated casting structures */ + void *clientdata; /* Language specific module data */ +} swig_module_info; + +/* + Compare two type names skipping the space characters, therefore + "char*" == "char *" and "Class<int>" == "Class<int >", etc. + + Return 0 when the two name types are equivalent, as in + strncmp, but skipping ' '. +*/ +SWIGRUNTIME int +SWIG_TypeNameComp(const char *f1, const char *l1, + const char *f2, const char *l2) { + for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { + while ((*f1 == ' ') && (f1 != l1)) ++f1; + while ((*f2 == ' ') && (f2 != l2)) ++f2; + if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; + } + return (int)((l1 - f1) - (l2 - f2)); +} + +/* + Check type equivalence in a name list like <name1>|<name2>|... + Return 0 if equal, -1 if nb < tb, 1 if nb > tb +*/ +SWIGRUNTIME int +SWIG_TypeCmp(const char *nb, const char *tb) { + int equiv = 1; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (equiv != 0 && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = SWIG_TypeNameComp(nb, ne, tb, te); + if (*ne) ++ne; + } + return equiv; +} + +/* + Check type equivalence in a name list like <name1>|<name2>|... + Return 0 if not equal, 1 if equal +*/ +SWIGRUNTIME int +SWIG_TypeEquiv(const char *nb, const char *tb) { + return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0; +} + +/* + Check the typename +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheck(const char *c, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (strcmp(iter->type->name, c) == 0) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (iter->type == from) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Cast a pointer up an inheritance hierarchy +*/ +SWIGRUNTIMEINLINE void * +SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) { + return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory); +} + +/* + Dynamic pointer casting. Down an inheritance hierarchy +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { + swig_type_info *lastty = ty; + if (!ty || !ty->dcast) return ty; + while (ty && (ty->dcast)) { + ty = (*ty->dcast)(ptr); + if (ty) lastty = ty; + } + return lastty; +} + +/* + Return the name associated with this type +*/ +SWIGRUNTIMEINLINE const char * +SWIG_TypeName(const swig_type_info *ty) { + return ty->name; +} + +/* + Return the pretty name associated with this type, + that is an unmangled type name in a form presentable to the user. +*/ +SWIGRUNTIME const char * +SWIG_TypePrettyName(const swig_type_info *type) { + /* The "str" field contains the equivalent pretty names of the + type, separated by vertical-bar characters. We choose + to print the last name, as it is often (?) the most + specific. */ + if (!type) return NULL; + if (type->str != NULL) { + const char *last_name = type->str; + const char *s; + for (s = type->str; *s; s++) + if (*s == '|') last_name = s+1; + return last_name; + } + else + return type->name; +} + +/* + Set the clientdata field for a type +*/ +SWIGRUNTIME void +SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { + swig_cast_info *cast = ti->cast; + /* if (ti->clientdata == clientdata) return; */ + ti->clientdata = clientdata; + + while (cast) { + if (!cast->converter) { + swig_type_info *tc = cast->type; + if (!tc->clientdata) { + SWIG_TypeClientData(tc, clientdata); + } + } + cast = cast->next; + } +} +SWIGRUNTIME void +SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { + SWIG_TypeClientData(ti, clientdata); + ti->owndata = 1; +} + +/* + Search for a swig_type_info structure only by mangled name + Search is a O(log #types) + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_MangledTypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + swig_module_info *iter = start; + do { + if (iter->size) { + size_t l = 0; + size_t r = iter->size - 1; + do { + /* since l+r >= 0, we can (>> 1) instead (/ 2) */ + size_t i = (l + r) >> 1; + const char *iname = iter->types[i]->name; + if (iname) { + int compare = strcmp(name, iname); + if (compare == 0) { + return iter->types[i]; + } else if (compare < 0) { + if (i) { + r = i - 1; + } else { + break; + } + } else if (compare > 0) { + l = i + 1; + } + } else { + break; /* should never happen */ + } + } while (l <= r); + } + iter = iter->next; + } while (iter != end); + return 0; +} + +/* + Search for a swig_type_info structure for either a mangled name or a human readable name. + It first searches the mangled names of the types, which is a O(log #types) + If a type is not found it then searches the human readable names, which is O(#types). + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + /* STEP 1: Search the name field using binary search */ + swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); + if (ret) { + return ret; + } else { + /* STEP 2: If the type hasn't been found, do a complete search + of the str field (the human readable name) */ + swig_module_info *iter = start; + do { + size_t i = 0; + for (; i < iter->size; ++i) { + if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) + return iter->types[i]; + } + iter = iter->next; + } while (iter != end); + } + + /* neither found a match */ + return 0; +} + +/* + Pack binary data into a string +*/ +SWIGRUNTIME char * +SWIG_PackData(char *c, void *ptr, size_t sz) { + static const char hex[17] = "0123456789abcdef"; + const unsigned char *u = (unsigned char *) ptr; + const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + unsigned char uu = *u; + *(c++) = hex[(uu & 0xf0) >> 4]; + *(c++) = hex[uu & 0xf]; + } + return c; +} + +/* + Unpack binary data from a string +*/ +SWIGRUNTIME const char * +SWIG_UnpackData(const char *c, void *ptr, size_t sz) { + unsigned char *u = (unsigned char *) ptr; + const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + char d = *(c++); + unsigned char uu; + if ((d >= '0') && (d <= '9')) + uu = ((d - '0') << 4); + else if ((d >= 'a') && (d <= 'f')) + uu = ((d - ('a'-10)) << 4); + else + return (char *) 0; + d = *(c++); + if ((d >= '0') && (d <= '9')) + uu |= (d - '0'); + else if ((d >= 'a') && (d <= 'f')) + uu |= (d - ('a'-10)); + else + return (char *) 0; + *u = uu; + } + return c; +} + +/* + Pack 'void *' into a string buffer. +*/ +SWIGRUNTIME char * +SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { + char *r = buff; + if ((2*sizeof(void *) + 2) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,&ptr,sizeof(void *)); + if (strlen(name) + 1 > (bsz - (r - buff))) return 0; + strcpy(r,name); + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + *ptr = (void *) 0; + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sizeof(void *)); +} + +SWIGRUNTIME char * +SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { + char *r = buff; + size_t lname = (name ? strlen(name) : 0); + if ((2*sz + 2 + lname) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + if (lname) { + strncpy(r,name,lname+1); + } else { + *r = 0; + } + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + memset(ptr,0,sz); + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sz); +} + +#ifdef __cplusplus +} +#endif + +/* Errors in SWIG */ +#define SWIG_UnknownError -1 +#define SWIG_IOError -2 +#define SWIG_RuntimeError -3 +#define SWIG_IndexError -4 +#define SWIG_TypeError -5 +#define SWIG_DivisionByZero -6 +#define SWIG_OverflowError -7 +#define SWIG_SyntaxError -8 +#define SWIG_ValueError -9 +#define SWIG_SystemError -10 +#define SWIG_AttributeError -11 +#define SWIG_MemoryError -12 +#define SWIG_NullReferenceError -13 + + + +/* Compatibility macros for Python 3 */ +#if PY_VERSION_HEX >= 0x03000000 + +#define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type) +#define PyInt_Check(x) PyLong_Check(x) +#define PyInt_AsLong(x) PyLong_AsLong(x) +#define PyInt_FromLong(x) PyLong_FromLong(x) +#define PyInt_FromSize_t(x) PyLong_FromSize_t(x) +#define PyString_Check(name) PyBytes_Check(name) +#define PyString_FromString(x) PyUnicode_FromString(x) +#define PyString_Format(fmt, args) PyUnicode_Format(fmt, args) +#define PyString_AsString(str) PyBytes_AsString(str) +#define PyString_Size(str) PyBytes_Size(str) +#define PyString_InternFromString(key) PyUnicode_InternFromString(key) +#define Py_TPFLAGS_HAVE_CLASS Py_TPFLAGS_BASETYPE +#define PyString_AS_STRING(x) PyUnicode_AS_STRING(x) +#define _PyLong_FromSsize_t(x) PyLong_FromSsize_t(x) + +#endif + +#ifndef Py_TYPE +# define Py_TYPE(op) ((op)->ob_type) +#endif + +/* SWIG APIs for compatibility of both Python 2 & 3 */ + +#if PY_VERSION_HEX >= 0x03000000 +# define SWIG_Python_str_FromFormat PyUnicode_FromFormat +#else +# define SWIG_Python_str_FromFormat PyString_FromFormat +#endif + + +/* Warning: This function will allocate a new string in Python 3, + * so please call SWIG_Python_str_DelForPy3(x) to free the space. + */ +SWIGINTERN char* +SWIG_Python_str_AsChar(PyObject *str) +{ +#if PY_VERSION_HEX >= 0x03000000 + char *cstr; + char *newstr; + Py_ssize_t len; + str = PyUnicode_AsUTF8String(str); + PyBytes_AsStringAndSize(str, &cstr, &len); + newstr = (char *) malloc(len+1); + memcpy(newstr, cstr, len+1); + Py_XDECREF(str); + return newstr; +#else + return PyString_AsString(str); +#endif +} + +#if PY_VERSION_HEX >= 0x03000000 +# define SWIG_Python_str_DelForPy3(x) free( (void*) (x) ) +#else +# define SWIG_Python_str_DelForPy3(x) +#endif + + +SWIGINTERN PyObject* +SWIG_Python_str_FromChar(const char *c) +{ +#if PY_VERSION_HEX >= 0x03000000 + return PyUnicode_FromString(c); +#else + return PyString_FromString(c); +#endif +} + +/* Add PyOS_snprintf for old Pythons */ +#if PY_VERSION_HEX < 0x02020000 +# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM) +# define PyOS_snprintf _snprintf +# else +# define PyOS_snprintf snprintf +# endif +#endif + +/* A crude PyString_FromFormat implementation for old Pythons */ +#if PY_VERSION_HEX < 0x02020000 + +#ifndef SWIG_PYBUFFER_SIZE +# define SWIG_PYBUFFER_SIZE 1024 +#endif + +static PyObject * +PyString_FromFormat(const char *fmt, ...) { + va_list ap; + char buf[SWIG_PYBUFFER_SIZE * 2]; + int res; + va_start(ap, fmt); + res = vsnprintf(buf, sizeof(buf), fmt, ap); + va_end(ap); + return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf); +} +#endif + +/* Add PyObject_Del for old Pythons */ +#if PY_VERSION_HEX < 0x01060000 +# define PyObject_Del(op) PyMem_DEL((op)) +#endif +#ifndef PyObject_DEL +# define PyObject_DEL PyObject_Del +#endif + +/* A crude PyExc_StopIteration exception for old Pythons */ +#if PY_VERSION_HEX < 0x02020000 +# ifndef PyExc_StopIteration +# define PyExc_StopIteration PyExc_RuntimeError +# endif +# ifndef PyObject_GenericGetAttr +# define PyObject_GenericGetAttr 0 +# endif +#endif + +/* Py_NotImplemented is defined in 2.1 and up. */ +#if PY_VERSION_HEX < 0x02010000 +# ifndef Py_NotImplemented +# define Py_NotImplemented PyExc_RuntimeError +# endif +#endif + +/* A crude PyString_AsStringAndSize implementation for old Pythons */ +#if PY_VERSION_HEX < 0x02010000 +# ifndef PyString_AsStringAndSize +# define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;} +# endif +#endif + +/* PySequence_Size for old Pythons */ +#if PY_VERSION_HEX < 0x02000000 +# ifndef PySequence_Size +# define PySequence_Size PySequence_Length +# endif +#endif + +/* PyBool_FromLong for old Pythons */ +#if PY_VERSION_HEX < 0x02030000 +static +PyObject *PyBool_FromLong(long ok) +{ + PyObject *result = ok ? Py_True : Py_False; + Py_INCREF(result); + return result; +} +#endif + +/* Py_ssize_t for old Pythons */ +/* This code is as recommended by: */ +/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */ +#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN) +typedef int Py_ssize_t; +# define PY_SSIZE_T_MAX INT_MAX +# define PY_SSIZE_T_MIN INT_MIN +typedef inquiry lenfunc; +typedef intargfunc ssizeargfunc; +typedef intintargfunc ssizessizeargfunc; +typedef intobjargproc ssizeobjargproc; +typedef intintobjargproc ssizessizeobjargproc; +typedef getreadbufferproc readbufferproc; +typedef getwritebufferproc writebufferproc; +typedef getsegcountproc segcountproc; +typedef getcharbufferproc charbufferproc; +static long PyNumber_AsSsize_t (PyObject *x, void *SWIGUNUSEDPARM(exc)) +{ + long result = 0; + PyObject *i = PyNumber_Int(x); + if (i) { + result = PyInt_AsLong(i); + Py_DECREF(i); + } + return result; +} +#endif + +#if PY_VERSION_HEX < 0x02050000 +#define PyInt_FromSize_t(x) PyInt_FromLong((long)x) +#endif + +#if PY_VERSION_HEX < 0x02040000 +#define Py_VISIT(op) \ + do { \ + if (op) { \ + int vret = visit((op), arg); \ + if (vret) \ + return vret; \ + } \ + } while (0) +#endif + +#if PY_VERSION_HEX < 0x02030000 +typedef struct { + PyTypeObject type; + PyNumberMethods as_number; + PyMappingMethods as_mapping; + PySequenceMethods as_sequence; + PyBufferProcs as_buffer; + PyObject *name, *slots; +} PyHeapTypeObject; +#endif + +#if PY_VERSION_HEX < 0x02030000 +typedef destructor freefunc; +#endif + +#if ((PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 6) || \ + (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION > 0) || \ + (PY_MAJOR_VERSION > 3)) +# define SWIGPY_USE_CAPSULE +# define SWIGPY_CAPSULE_NAME ((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME) +#endif + +#if PY_VERSION_HEX < 0x03020000 +#define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type) +#define PyDescr_NAME(x) (((PyDescrObject *)(x))->d_name) +#endif + +/* ----------------------------------------------------------------------------- + * error manipulation + * ----------------------------------------------------------------------------- */ + +SWIGRUNTIME PyObject* +SWIG_Python_ErrorType(int code) { + PyObject* type = 0; + switch(code) { + case SWIG_MemoryError: + type = PyExc_MemoryError; + break; + case SWIG_IOError: + type = PyExc_IOError; + break; + case SWIG_RuntimeError: + type = PyExc_RuntimeError; + break; + case SWIG_IndexError: + type = PyExc_IndexError; + break; + case SWIG_TypeError: + type = PyExc_TypeError; + break; + case SWIG_DivisionByZero: + type = PyExc_ZeroDivisionError; + break; + case SWIG_OverflowError: + type = PyExc_OverflowError; + break; + case SWIG_SyntaxError: + type = PyExc_SyntaxError; + break; + case SWIG_ValueError: + type = PyExc_ValueError; + break; + case SWIG_SystemError: + type = PyExc_SystemError; + break; + case SWIG_AttributeError: + type = PyExc_AttributeError; + break; + default: + type = PyExc_RuntimeError; + } + return type; +} + + +SWIGRUNTIME void +SWIG_Python_AddErrorMsg(const char* mesg) +{ + PyObject *type = 0; + PyObject *value = 0; + PyObject *traceback = 0; + + if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback); + if (value) { + char *tmp; + PyObject *old_str = PyObject_Str(value); + PyErr_Clear(); + Py_XINCREF(type); + + PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg); + SWIG_Python_str_DelForPy3(tmp); + Py_DECREF(old_str); + Py_DECREF(value); + } else { + PyErr_SetString(PyExc_RuntimeError, mesg); + } +} + +#if defined(SWIG_PYTHON_NO_THREADS) +# if defined(SWIG_PYTHON_THREADS) +# undef SWIG_PYTHON_THREADS +# endif +#endif +#if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */ +# if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL) +# if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */ +# define SWIG_PYTHON_USE_GIL +# endif +# endif +# if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */ +# ifndef SWIG_PYTHON_INITIALIZE_THREADS +# define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads() +# endif +# ifdef __cplusplus /* C++ code */ + class SWIG_Python_Thread_Block { + bool status; + PyGILState_STATE state; + public: + void end() { if (status) { PyGILState_Release(state); status = false;} } + SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {} + ~SWIG_Python_Thread_Block() { end(); } + }; + class SWIG_Python_Thread_Allow { + bool status; + PyThreadState *save; + public: + void end() { if (status) { PyEval_RestoreThread(save); status = false; }} + SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {} + ~SWIG_Python_Thread_Allow() { end(); } + }; +# define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block +# define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end() +# define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow +# define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end() +# else /* C code */ +# define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure() +# define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block) +# define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread() +# define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow) +# endif +# else /* Old thread way, not implemented, user must provide it */ +# if !defined(SWIG_PYTHON_INITIALIZE_THREADS) +# define SWIG_PYTHON_INITIALIZE_THREADS +# endif +# if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK) +# define SWIG_PYTHON_THREAD_BEGIN_BLOCK +# endif +# if !defined(SWIG_PYTHON_THREAD_END_BLOCK) +# define SWIG_PYTHON_THREAD_END_BLOCK +# endif +# if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW) +# define SWIG_PYTHON_THREAD_BEGIN_ALLOW +# endif +# if !defined(SWIG_PYTHON_THREAD_END_ALLOW) +# define SWIG_PYTHON_THREAD_END_ALLOW +# endif +# endif +#else /* No thread support */ +# define SWIG_PYTHON_INITIALIZE_THREADS +# define SWIG_PYTHON_THREAD_BEGIN_BLOCK +# define SWIG_PYTHON_THREAD_END_BLOCK +# define SWIG_PYTHON_THREAD_BEGIN_ALLOW +# define SWIG_PYTHON_THREAD_END_ALLOW +#endif + +/* ----------------------------------------------------------------------------- + * Python API portion that goes into the runtime + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* ----------------------------------------------------------------------------- + * Constant declarations + * ----------------------------------------------------------------------------- */ + +/* Constant Types */ +#define SWIG_PY_POINTER 4 +#define SWIG_PY_BINARY 5 + +/* Constant information structure */ +typedef struct swig_const_info { + int type; + char *name; + long lvalue; + double dvalue; + void *pvalue; + swig_type_info **ptype; +} swig_const_info; + + +/* ----------------------------------------------------------------------------- + * Wrapper of PyInstanceMethod_New() used in Python 3 + * It is exported to the generated module, used for -fastproxy + * ----------------------------------------------------------------------------- */ +#if PY_VERSION_HEX >= 0x03000000 +SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func) +{ + return PyInstanceMethod_New(func); +} +#else +SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *SWIGUNUSEDPARM(func)) +{ + return NULL; +} +#endif + +#ifdef __cplusplus +} +#endif + + +/* ----------------------------------------------------------------------------- + * pyrun.swg + * + * This file contains the runtime support for Python modules + * and includes code for managing global variables and pointer + * type checking. + * + * ----------------------------------------------------------------------------- */ + +/* Common SWIG API */ + +/* for raw pointers */ +#define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0) +#define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags) +#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own) + +#ifdef SWIGPYTHON_BUILTIN +#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(self, ptr, type, flags) +#else +#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags) +#endif + +#define SWIG_InternalNewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags) + +#define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty) +#define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src) +#define swig_owntype int + +/* for raw packed data */ +#define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) +#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) + +/* for class or struct pointers */ +#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) +#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) + +/* for C or C++ function pointers */ +#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type) +#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(NULL, ptr, type, 0) + +/* for C++ member pointers, ie, member methods */ +#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) +#define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) + + +/* Runtime API */ + +#define SWIG_GetModule(clientdata) SWIG_Python_GetModule(clientdata) +#define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer) +#define SWIG_NewClientData(obj) SwigPyClientData_New(obj) + +#define SWIG_SetErrorObj SWIG_Python_SetErrorObj +#define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg +#define SWIG_ErrorType(code) SWIG_Python_ErrorType(code) +#define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) +#define SWIG_fail goto fail + + +/* Runtime API implementation */ + +/* Error manipulation */ + +SWIGINTERN void +SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; + PyErr_SetObject(errtype, obj); + Py_DECREF(obj); + SWIG_PYTHON_THREAD_END_BLOCK; +} + +SWIGINTERN void +SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; + PyErr_SetString(errtype, msg); + SWIG_PYTHON_THREAD_END_BLOCK; +} + +#define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj) + +/* Set a constant value */ + +#if defined(SWIGPYTHON_BUILTIN) + +SWIGINTERN void +SwigPyBuiltin_AddPublicSymbol(PyObject *seq, const char *key) { + PyObject *s = PyString_InternFromString(key); + PyList_Append(seq, s); + Py_DECREF(s); +} + +SWIGINTERN void +SWIG_Python_SetConstant(PyObject *d, PyObject *public_interface, const char *name, PyObject *obj) { +#if PY_VERSION_HEX < 0x02030000 + PyDict_SetItemString(d, (char *)name, obj); +#else + PyDict_SetItemString(d, name, obj); +#endif + Py_DECREF(obj); + if (public_interface) + SwigPyBuiltin_AddPublicSymbol(public_interface, name); +} + +#else + +SWIGINTERN void +SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) { +#if PY_VERSION_HEX < 0x02030000 + PyDict_SetItemString(d, (char *)name, obj); +#else + PyDict_SetItemString(d, name, obj); +#endif + Py_DECREF(obj); +} + +#endif + +/* Append a value to the result obj */ + +SWIGINTERN PyObject* +SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) { +#if !defined(SWIG_PYTHON_OUTPUT_TUPLE) + if (!result) { + result = obj; + } else if (result == Py_None) { + Py_DECREF(result); + result = obj; + } else { + if (!PyList_Check(result)) { + PyObject *o2 = result; + result = PyList_New(1); + PyList_SetItem(result, 0, o2); + } + PyList_Append(result,obj); + Py_DECREF(obj); + } + return result; +#else + PyObject* o2; + PyObject* o3; + if (!result) { + result = obj; + } else if (result == Py_None) { + Py_DECREF(result); + result = obj; + } else { + if (!PyTuple_Check(result)) { + o2 = result; + result = PyTuple_New(1); + PyTuple_SET_ITEM(result, 0, o2); + } + o3 = PyTuple_New(1); + PyTuple_SET_ITEM(o3, 0, obj); + o2 = result; + result = PySequence_Concat(o2, o3); + Py_DECREF(o2); + Py_DECREF(o3); + } + return result; +#endif +} + +/* Unpack the argument tuple */ + +SWIGINTERN Py_ssize_t +SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs) +{ + if (!args) { + if (!min && !max) { + return 1; + } else { + PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", + name, (min == max ? "" : "at least "), (int)min); + return 0; + } + } + if (!PyTuple_Check(args)) { + if (min <= 1 && max >= 1) { + Py_ssize_t i; + objs[0] = args; + for (i = 1; i < max; ++i) { + objs[i] = 0; + } + return 2; + } + PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple"); + return 0; + } else { + Py_ssize_t l = PyTuple_GET_SIZE(args); + if (l < min) { + PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", + name, (min == max ? "" : "at least "), (int)min, (int)l); + return 0; + } else if (l > max) { + PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", + name, (min == max ? "" : "at most "), (int)max, (int)l); + return 0; + } else { + Py_ssize_t i; + for (i = 0; i < l; ++i) { + objs[i] = PyTuple_GET_ITEM(args, i); + } + for (; l < max; ++l) { + objs[l] = 0; + } + return i + 1; + } + } +} + +/* A functor is a function object with one single object argument */ +#if PY_VERSION_HEX >= 0x02020000 +#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL); +#else +#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, "O", obj); +#endif + +/* + Helper for static pointer initialization for both C and C++ code, for example + static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...); +*/ +#ifdef __cplusplus +#define SWIG_STATIC_POINTER(var) var +#else +#define SWIG_STATIC_POINTER(var) var = 0; if (!var) var +#endif + +/* ----------------------------------------------------------------------------- + * Pointer declarations + * ----------------------------------------------------------------------------- */ + +/* Flags for new pointer objects */ +#define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1) +#define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN) + +#define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1) + +#define SWIG_BUILTIN_TP_INIT (SWIG_POINTER_OWN << 2) +#define SWIG_BUILTIN_INIT (SWIG_BUILTIN_TP_INIT | SWIG_POINTER_OWN) + +#ifdef __cplusplus +extern "C" { +#endif + +/* How to access Py_None */ +#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# ifndef SWIG_PYTHON_NO_BUILD_NONE +# ifndef SWIG_PYTHON_BUILD_NONE +# define SWIG_PYTHON_BUILD_NONE +# endif +# endif +#endif + +#ifdef SWIG_PYTHON_BUILD_NONE +# ifdef Py_None +# undef Py_None +# define Py_None SWIG_Py_None() +# endif +SWIGRUNTIMEINLINE PyObject * +_SWIG_Py_None(void) +{ + PyObject *none = Py_BuildValue((char*)""); + Py_DECREF(none); + return none; +} +SWIGRUNTIME PyObject * +SWIG_Py_None(void) +{ + static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None(); + return none; +} +#endif + +/* The python void return value */ + +SWIGRUNTIMEINLINE PyObject * +SWIG_Py_Void(void) +{ + PyObject *none = Py_None; + Py_INCREF(none); + return none; +} + +/* SwigPyClientData */ + +typedef struct { + PyObject *klass; + PyObject *newraw; + PyObject *newargs; + PyObject *destroy; + int delargs; + int implicitconv; + PyTypeObject *pytype; +} SwigPyClientData; + +SWIGRUNTIMEINLINE int +SWIG_Python_CheckImplicit(swig_type_info *ty) +{ + SwigPyClientData *data = (SwigPyClientData *)ty->clientdata; + return data ? data->implicitconv : 0; +} + +SWIGRUNTIMEINLINE PyObject * +SWIG_Python_ExceptionType(swig_type_info *desc) { + SwigPyClientData *data = desc ? (SwigPyClientData *) desc->clientdata : 0; + PyObject *klass = data ? data->klass : 0; + return (klass ? klass : PyExc_RuntimeError); +} + + +SWIGRUNTIME SwigPyClientData * +SwigPyClientData_New(PyObject* obj) +{ + if (!obj) { + return 0; + } else { + SwigPyClientData *data = (SwigPyClientData *)malloc(sizeof(SwigPyClientData)); + /* the klass element */ + data->klass = obj; + Py_INCREF(data->klass); + /* the newraw method and newargs arguments used to create a new raw instance */ + if (PyClass_Check(obj)) { + data->newraw = 0; + data->newargs = obj; + Py_INCREF(obj); + } else { +#if (PY_VERSION_HEX < 0x02020000) + data->newraw = 0; +#else + data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__"); +#endif + if (data->newraw) { + Py_INCREF(data->newraw); + data->newargs = PyTuple_New(1); + PyTuple_SetItem(data->newargs, 0, obj); + } else { + data->newargs = obj; + } + Py_INCREF(data->newargs); + } + /* the destroy method, aka as the C++ delete method */ + data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__"); + if (PyErr_Occurred()) { + PyErr_Clear(); + data->destroy = 0; + } + if (data->destroy) { + int flags; + Py_INCREF(data->destroy); + flags = PyCFunction_GET_FLAGS(data->destroy); +#ifdef METH_O + data->delargs = !(flags & (METH_O)); +#else + data->delargs = 0; +#endif + } else { + data->delargs = 0; + } + data->implicitconv = 0; + data->pytype = 0; + return data; + } +} + +SWIGRUNTIME void +SwigPyClientData_Del(SwigPyClientData *data) { + Py_XDECREF(data->newraw); + Py_XDECREF(data->newargs); + Py_XDECREF(data->destroy); +} + +/* =============== SwigPyObject =====================*/ + +typedef struct { + PyObject_HEAD + void *ptr; + swig_type_info *ty; + int own; + PyObject *next; +#ifdef SWIGPYTHON_BUILTIN + PyObject *dict; +#endif +} SwigPyObject; + + +#ifdef SWIGPYTHON_BUILTIN + +SWIGRUNTIME PyObject * +SwigPyObject_get___dict__(PyObject *v, PyObject *SWIGUNUSEDPARM(args)) +{ + SwigPyObject *sobj = (SwigPyObject *)v; + + if (!sobj->dict) + sobj->dict = PyDict_New(); + + Py_INCREF(sobj->dict); + return sobj->dict; +} + +#endif + +SWIGRUNTIME PyObject * +SwigPyObject_long(SwigPyObject *v) +{ + return PyLong_FromVoidPtr(v->ptr); +} + +SWIGRUNTIME PyObject * +SwigPyObject_format(const char* fmt, SwigPyObject *v) +{ + PyObject *res = NULL; + PyObject *args = PyTuple_New(1); + if (args) { + if (PyTuple_SetItem(args, 0, SwigPyObject_long(v)) == 0) { + PyObject *ofmt = SWIG_Python_str_FromChar(fmt); + if (ofmt) { +#if PY_VERSION_HEX >= 0x03000000 + res = PyUnicode_Format(ofmt,args); +#else + res = PyString_Format(ofmt,args); +#endif + Py_DECREF(ofmt); + } + Py_DECREF(args); + } + } + return res; +} + +SWIGRUNTIME PyObject * +SwigPyObject_oct(SwigPyObject *v) +{ + return SwigPyObject_format("%o",v); +} + +SWIGRUNTIME PyObject * +SwigPyObject_hex(SwigPyObject *v) +{ + return SwigPyObject_format("%x",v); +} + +SWIGRUNTIME PyObject * +#ifdef METH_NOARGS +SwigPyObject_repr(SwigPyObject *v) +#else +SwigPyObject_repr(SwigPyObject *v, PyObject *args) +#endif +{ + const char *name = SWIG_TypePrettyName(v->ty); + PyObject *repr = SWIG_Python_str_FromFormat("<Swig Object of type '%s' at %p>", (name ? name : "unknown"), (void *)v); + if (v->next) { +# ifdef METH_NOARGS + PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next); +# else + PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next, args); +# endif +# if PY_VERSION_HEX >= 0x03000000 + PyObject *joined = PyUnicode_Concat(repr, nrep); + Py_DecRef(repr); + Py_DecRef(nrep); + repr = joined; +# else + PyString_ConcatAndDel(&repr,nrep); +# endif + } + return repr; +} + +SWIGRUNTIME int +SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w) +{ + void *i = v->ptr; + void *j = w->ptr; + return (i < j) ? -1 : ((i > j) ? 1 : 0); +} + +/* Added for Python 3.x, would it also be useful for Python 2.x? */ +SWIGRUNTIME PyObject* +SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op) +{ + PyObject* res; + if( op != Py_EQ && op != Py_NE ) { + Py_INCREF(Py_NotImplemented); + return Py_NotImplemented; + } + res = PyBool_FromLong( (SwigPyObject_compare(v, w)==0) == (op == Py_EQ) ? 1 : 0); + return res; +} + + +SWIGRUNTIME PyTypeObject* SwigPyObject_TypeOnce(void); + +#ifdef SWIGPYTHON_BUILTIN +static swig_type_info *SwigPyObject_stype = 0; +SWIGRUNTIME PyTypeObject* +SwigPyObject_type(void) { + SwigPyClientData *cd; + assert(SwigPyObject_stype); + cd = (SwigPyClientData*) SwigPyObject_stype->clientdata; + assert(cd); + assert(cd->pytype); + return cd->pytype; +} +#else +SWIGRUNTIME PyTypeObject* +SwigPyObject_type(void) { + static PyTypeObject *SWIG_STATIC_POINTER(type) = SwigPyObject_TypeOnce(); + return type; +} +#endif + +SWIGRUNTIMEINLINE int +SwigPyObject_Check(PyObject *op) { +#ifdef SWIGPYTHON_BUILTIN + PyTypeObject *target_tp = SwigPyObject_type(); + if (PyType_IsSubtype(op->ob_type, target_tp)) + return 1; + return (strcmp(op->ob_type->tp_name, "SwigPyObject") == 0); +#else + return (Py_TYPE(op) == SwigPyObject_type()) + || (strcmp(Py_TYPE(op)->tp_name,"SwigPyObject") == 0); +#endif +} + +SWIGRUNTIME PyObject * +SwigPyObject_New(void *ptr, swig_type_info *ty, int own); + +SWIGRUNTIME void +SwigPyObject_dealloc(PyObject *v) +{ + SwigPyObject *sobj = (SwigPyObject *) v; + PyObject *next = sobj->next; + if (sobj->own == SWIG_POINTER_OWN) { + swig_type_info *ty = sobj->ty; + SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0; + PyObject *destroy = data ? data->destroy : 0; + if (destroy) { + /* destroy is always a VARARGS method */ + PyObject *res; + + /* PyObject_CallFunction() has the potential to silently drop + the active active exception. In cases of unnamed temporary + variable or where we just finished iterating over a generator + StopIteration will be active right now, and this needs to + remain true upon return from SwigPyObject_dealloc. So save + and restore. */ + + PyObject *val = NULL, *type = NULL, *tb = NULL; + PyErr_Fetch(&val, &type, &tb); + + if (data->delargs) { + /* we need to create a temporary object to carry the destroy operation */ + PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0); + res = SWIG_Python_CallFunctor(destroy, tmp); + Py_DECREF(tmp); + } else { + PyCFunction meth = PyCFunction_GET_FUNCTION(destroy); + PyObject *mself = PyCFunction_GET_SELF(destroy); + res = ((*meth)(mself, v)); + } + if (!res) + PyErr_WriteUnraisable(destroy); + + PyErr_Restore(val, type, tb); + + Py_XDECREF(res); + } +#if !defined(SWIG_PYTHON_SILENT_MEMLEAK) + else { + const char *name = SWIG_TypePrettyName(ty); + printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown")); + } +#endif + } + Py_XDECREF(next); + PyObject_DEL(v); +} + +SWIGRUNTIME PyObject* +SwigPyObject_append(PyObject* v, PyObject* next) +{ + SwigPyObject *sobj = (SwigPyObject *) v; +#ifndef METH_O + PyObject *tmp = 0; + if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL; + next = tmp; +#endif + if (!SwigPyObject_Check(next)) { + PyErr_SetString(PyExc_TypeError, "Attempt to append a non SwigPyObject"); + return NULL; + } + sobj->next = next; + Py_INCREF(next); + return SWIG_Py_Void(); +} + +SWIGRUNTIME PyObject* +#ifdef METH_NOARGS +SwigPyObject_next(PyObject* v) +#else +SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) +#endif +{ + SwigPyObject *sobj = (SwigPyObject *) v; + if (sobj->next) { + Py_INCREF(sobj->next); + return sobj->next; + } else { + return SWIG_Py_Void(); + } +} + +SWIGINTERN PyObject* +#ifdef METH_NOARGS +SwigPyObject_disown(PyObject *v) +#else +SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) +#endif +{ + SwigPyObject *sobj = (SwigPyObject *)v; + sobj->own = 0; + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject* +#ifdef METH_NOARGS +SwigPyObject_acquire(PyObject *v) +#else +SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) +#endif +{ + SwigPyObject *sobj = (SwigPyObject *)v; + sobj->own = SWIG_POINTER_OWN; + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject* +SwigPyObject_own(PyObject *v, PyObject *args) +{ + PyObject *val = 0; +#if (PY_VERSION_HEX < 0x02020000) + if (!PyArg_ParseTuple(args,(char *)"|O:own",&val)) +#elif (PY_VERSION_HEX < 0x02050000) + if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val)) +#else + if (!PyArg_UnpackTuple(args, "own", 0, 1, &val)) +#endif + { + return NULL; + } + else + { + SwigPyObject *sobj = (SwigPyObject *)v; + PyObject *obj = PyBool_FromLong(sobj->own); + if (val) { +#ifdef METH_NOARGS + if (PyObject_IsTrue(val)) { + SwigPyObject_acquire(v); + } else { + SwigPyObject_disown(v); + } +#else + if (PyObject_IsTrue(val)) { + SwigPyObject_acquire(v,args); + } else { + SwigPyObject_disown(v,args); + } +#endif + } + return obj; + } +} + +#ifdef METH_O +static PyMethodDef +swigobject_methods[] = { + {(char *)"disown", (PyCFunction)SwigPyObject_disown, METH_NOARGS, (char *)"releases ownership of the pointer"}, + {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_NOARGS, (char *)"acquires ownership of the pointer"}, + {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, + {(char *)"append", (PyCFunction)SwigPyObject_append, METH_O, (char *)"appends another 'this' object"}, + {(char *)"next", (PyCFunction)SwigPyObject_next, METH_NOARGS, (char *)"returns the next 'this' object"}, + {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_NOARGS, (char *)"returns object representation"}, + {0, 0, 0, 0} +}; +#else +static PyMethodDef +swigobject_methods[] = { + {(char *)"disown", (PyCFunction)SwigPyObject_disown, METH_VARARGS, (char *)"releases ownership of the pointer"}, + {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_VARARGS, (char *)"acquires ownership of the pointer"}, + {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, + {(char *)"append", (PyCFunction)SwigPyObject_append, METH_VARARGS, (char *)"appends another 'this' object"}, + {(char *)"next", (PyCFunction)SwigPyObject_next, METH_VARARGS, (char *)"returns the next 'this' object"}, + {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_VARARGS, (char *)"returns object representation"}, + {0, 0, 0, 0} +}; +#endif + +#if PY_VERSION_HEX < 0x02020000 +SWIGINTERN PyObject * +SwigPyObject_getattr(SwigPyObject *sobj,char *name) +{ + return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name); +} +#endif + +SWIGRUNTIME PyTypeObject* +SwigPyObject_TypeOnce(void) { + static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer"; + + static PyNumberMethods SwigPyObject_as_number = { + (binaryfunc)0, /*nb_add*/ + (binaryfunc)0, /*nb_subtract*/ + (binaryfunc)0, /*nb_multiply*/ + /* nb_divide removed in Python 3 */ +#if PY_VERSION_HEX < 0x03000000 + (binaryfunc)0, /*nb_divide*/ +#endif + (binaryfunc)0, /*nb_remainder*/ + (binaryfunc)0, /*nb_divmod*/ + (ternaryfunc)0,/*nb_power*/ + (unaryfunc)0, /*nb_negative*/ + (unaryfunc)0, /*nb_positive*/ + (unaryfunc)0, /*nb_absolute*/ + (inquiry)0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ +#if PY_VERSION_HEX < 0x03000000 + 0, /*nb_coerce*/ +#endif + (unaryfunc)SwigPyObject_long, /*nb_int*/ +#if PY_VERSION_HEX < 0x03000000 + (unaryfunc)SwigPyObject_long, /*nb_long*/ +#else + 0, /*nb_reserved*/ +#endif + (unaryfunc)0, /*nb_float*/ +#if PY_VERSION_HEX < 0x03000000 + (unaryfunc)SwigPyObject_oct, /*nb_oct*/ + (unaryfunc)SwigPyObject_hex, /*nb_hex*/ +#endif +#if PY_VERSION_HEX >= 0x03050000 /* 3.5 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_matrix_multiply */ +#elif PY_VERSION_HEX >= 0x03000000 /* 3.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */ +#elif PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */ +#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ +#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */ + 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */ +#endif + }; + + static PyTypeObject swigpyobject_type; + static int type_init = 0; + if (!type_init) { + const PyTypeObject tmp = { + /* PyObject header changed in Python 3 */ +#if PY_VERSION_HEX >= 0x03000000 + PyVarObject_HEAD_INIT(NULL, 0) +#else + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ +#endif + (char *)"SwigPyObject", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)SwigPyObject_dealloc, /* tp_dealloc */ + 0, /* tp_print */ +#if PY_VERSION_HEX < 0x02020000 + (getattrfunc)SwigPyObject_getattr, /* tp_getattr */ +#else + (getattrfunc)0, /* tp_getattr */ +#endif + (setattrfunc)0, /* tp_setattr */ +#if PY_VERSION_HEX >= 0x03000000 + 0, /* tp_reserved in 3.0.1, tp_compare in 3.0.0 but not used */ +#else + (cmpfunc)SwigPyObject_compare, /* tp_compare */ +#endif + (reprfunc)SwigPyObject_repr, /* tp_repr */ + &SwigPyObject_as_number, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc)0, /* tp_hash */ + (ternaryfunc)0, /* tp_call */ + 0, /* tp_str */ + PyObject_GenericGetAttr, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + swigobject_doc, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + (richcmpfunc)SwigPyObject_richcompare,/* tp_richcompare */ + 0, /* tp_weaklistoffset */ +#if PY_VERSION_HEX >= 0x02020000 + 0, /* tp_iter */ + 0, /* tp_iternext */ + swigobject_methods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + 0, /* tp_is_gc */ + 0, /* tp_bases */ + 0, /* tp_mro */ + 0, /* tp_cache */ + 0, /* tp_subclasses */ + 0, /* tp_weaklist */ +#endif +#if PY_VERSION_HEX >= 0x02030000 + 0, /* tp_del */ +#endif +#if PY_VERSION_HEX >= 0x02060000 + 0, /* tp_version_tag */ +#endif +#if PY_VERSION_HEX >= 0x03040000 + 0, /* tp_finalize */ +#endif +#ifdef COUNT_ALLOCS + 0, /* tp_allocs */ + 0, /* tp_frees */ + 0, /* tp_maxalloc */ +#if PY_VERSION_HEX >= 0x02050000 + 0, /* tp_prev */ +#endif + 0 /* tp_next */ +#endif + }; + swigpyobject_type = tmp; + type_init = 1; +#if PY_VERSION_HEX < 0x02020000 + swigpyobject_type.ob_type = &PyType_Type; +#else + if (PyType_Ready(&swigpyobject_type) < 0) + return NULL; +#endif + } + return &swigpyobject_type; +} + +SWIGRUNTIME PyObject * +SwigPyObject_New(void *ptr, swig_type_info *ty, int own) +{ + SwigPyObject *sobj = PyObject_NEW(SwigPyObject, SwigPyObject_type()); + if (sobj) { + sobj->ptr = ptr; + sobj->ty = ty; + sobj->own = own; + sobj->next = 0; + } + return (PyObject *)sobj; +} + +/* ----------------------------------------------------------------------------- + * Implements a simple Swig Packed type, and use it instead of string + * ----------------------------------------------------------------------------- */ + +typedef struct { + PyObject_HEAD + void *pack; + swig_type_info *ty; + size_t size; +} SwigPyPacked; + +SWIGRUNTIME int +SwigPyPacked_print(SwigPyPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags)) +{ + char result[SWIG_BUFFER_SIZE]; + fputs("<Swig Packed ", fp); + if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) { + fputs("at ", fp); + fputs(result, fp); + } + fputs(v->ty->name,fp); + fputs(">", fp); + return 0; +} + +SWIGRUNTIME PyObject * +SwigPyPacked_repr(SwigPyPacked *v) +{ + char result[SWIG_BUFFER_SIZE]; + if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) { + return SWIG_Python_str_FromFormat("<Swig Packed at %s%s>", result, v->ty->name); + } else { + return SWIG_Python_str_FromFormat("<Swig Packed %s>", v->ty->name); + } +} + +SWIGRUNTIME PyObject * +SwigPyPacked_str(SwigPyPacked *v) +{ + char result[SWIG_BUFFER_SIZE]; + if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){ + return SWIG_Python_str_FromFormat("%s%s", result, v->ty->name); + } else { + return SWIG_Python_str_FromChar(v->ty->name); + } +} + +SWIGRUNTIME int +SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w) +{ + size_t i = v->size; + size_t j = w->size; + int s = (i < j) ? -1 : ((i > j) ? 1 : 0); + return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size); +} + +SWIGRUNTIME PyTypeObject* SwigPyPacked_TypeOnce(void); + +SWIGRUNTIME PyTypeObject* +SwigPyPacked_type(void) { + static PyTypeObject *SWIG_STATIC_POINTER(type) = SwigPyPacked_TypeOnce(); + return type; +} + +SWIGRUNTIMEINLINE int +SwigPyPacked_Check(PyObject *op) { + return ((op)->ob_type == SwigPyPacked_TypeOnce()) + || (strcmp((op)->ob_type->tp_name,"SwigPyPacked") == 0); +} + +SWIGRUNTIME void +SwigPyPacked_dealloc(PyObject *v) +{ + if (SwigPyPacked_Check(v)) { + SwigPyPacked *sobj = (SwigPyPacked *) v; + free(sobj->pack); + } + PyObject_DEL(v); +} + +SWIGRUNTIME PyTypeObject* +SwigPyPacked_TypeOnce(void) { + static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer"; + static PyTypeObject swigpypacked_type; + static int type_init = 0; + if (!type_init) { + const PyTypeObject tmp = { + /* PyObject header changed in Python 3 */ +#if PY_VERSION_HEX>=0x03000000 + PyVarObject_HEAD_INIT(NULL, 0) +#else + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ +#endif + (char *)"SwigPyPacked", /* tp_name */ + sizeof(SwigPyPacked), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)SwigPyPacked_dealloc, /* tp_dealloc */ + (printfunc)SwigPyPacked_print, /* tp_print */ + (getattrfunc)0, /* tp_getattr */ + (setattrfunc)0, /* tp_setattr */ +#if PY_VERSION_HEX>=0x03000000 + 0, /* tp_reserved in 3.0.1 */ +#else + (cmpfunc)SwigPyPacked_compare, /* tp_compare */ +#endif + (reprfunc)SwigPyPacked_repr, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc)0, /* tp_hash */ + (ternaryfunc)0, /* tp_call */ + (reprfunc)SwigPyPacked_str, /* tp_str */ + PyObject_GenericGetAttr, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + swigpacked_doc, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +#if PY_VERSION_HEX >= 0x02020000 + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + 0, /* tp_is_gc */ + 0, /* tp_bases */ + 0, /* tp_mro */ + 0, /* tp_cache */ + 0, /* tp_subclasses */ + 0, /* tp_weaklist */ +#endif +#if PY_VERSION_HEX >= 0x02030000 + 0, /* tp_del */ +#endif +#if PY_VERSION_HEX >= 0x02060000 + 0, /* tp_version_tag */ +#endif +#if PY_VERSION_HEX >= 0x03040000 + 0, /* tp_finalize */ +#endif +#ifdef COUNT_ALLOCS + 0, /* tp_allocs */ + 0, /* tp_frees */ + 0, /* tp_maxalloc */ +#if PY_VERSION_HEX >= 0x02050000 + 0, /* tp_prev */ +#endif + 0 /* tp_next */ +#endif + }; + swigpypacked_type = tmp; + type_init = 1; +#if PY_VERSION_HEX < 0x02020000 + swigpypacked_type.ob_type = &PyType_Type; +#else + if (PyType_Ready(&swigpypacked_type) < 0) + return NULL; +#endif + } + return &swigpypacked_type; +} + +SWIGRUNTIME PyObject * +SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty) +{ + SwigPyPacked *sobj = PyObject_NEW(SwigPyPacked, SwigPyPacked_type()); + if (sobj) { + void *pack = malloc(size); + if (pack) { + memcpy(pack, ptr, size); + sobj->pack = pack; + sobj->ty = ty; + sobj->size = size; + } else { + PyObject_DEL((PyObject *) sobj); + sobj = 0; + } + } + return (PyObject *) sobj; +} + +SWIGRUNTIME swig_type_info * +SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size) +{ + if (SwigPyPacked_Check(obj)) { + SwigPyPacked *sobj = (SwigPyPacked *)obj; + if (sobj->size != size) return 0; + memcpy(ptr, sobj->pack, size); + return sobj->ty; + } else { + return 0; + } +} + +/* ----------------------------------------------------------------------------- + * pointers/data manipulation + * ----------------------------------------------------------------------------- */ + +SWIGRUNTIMEINLINE PyObject * +_SWIG_This(void) +{ + return SWIG_Python_str_FromChar("this"); +} + +static PyObject *swig_this = NULL; + +SWIGRUNTIME PyObject * +SWIG_This(void) +{ + if (swig_this == NULL) + swig_this = _SWIG_This(); + return swig_this; +} + +/* #define SWIG_PYTHON_SLOW_GETSET_THIS */ + +/* TODO: I don't know how to implement the fast getset in Python 3 right now */ +#if PY_VERSION_HEX>=0x03000000 +#define SWIG_PYTHON_SLOW_GETSET_THIS +#endif + +SWIGRUNTIME SwigPyObject * +SWIG_Python_GetSwigThis(PyObject *pyobj) +{ + PyObject *obj; + + if (SwigPyObject_Check(pyobj)) + return (SwigPyObject *) pyobj; + +#ifdef SWIGPYTHON_BUILTIN + (void)obj; +# ifdef PyWeakref_CheckProxy + if (PyWeakref_CheckProxy(pyobj)) { + pyobj = PyWeakref_GET_OBJECT(pyobj); + if (pyobj && SwigPyObject_Check(pyobj)) + return (SwigPyObject*) pyobj; + } +# endif + return NULL; +#else + + obj = 0; + +#if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000)) + if (PyInstance_Check(pyobj)) { + obj = _PyInstance_Lookup(pyobj, SWIG_This()); + } else { + PyObject **dictptr = _PyObject_GetDictPtr(pyobj); + if (dictptr != NULL) { + PyObject *dict = *dictptr; + obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0; + } else { +#ifdef PyWeakref_CheckProxy + if (PyWeakref_CheckProxy(pyobj)) { + PyObject *wobj = PyWeakref_GET_OBJECT(pyobj); + return wobj ? SWIG_Python_GetSwigThis(wobj) : 0; + } +#endif + obj = PyObject_GetAttr(pyobj,SWIG_This()); + if (obj) { + Py_DECREF(obj); + } else { + if (PyErr_Occurred()) PyErr_Clear(); + return 0; + } + } + } +#else + obj = PyObject_GetAttr(pyobj,SWIG_This()); + if (obj) { + Py_DECREF(obj); + } else { + if (PyErr_Occurred()) PyErr_Clear(); + return 0; + } +#endif + if (obj && !SwigPyObject_Check(obj)) { + /* a PyObject is called 'this', try to get the 'real this' + SwigPyObject from it */ + return SWIG_Python_GetSwigThis(obj); + } + return (SwigPyObject *)obj; +#endif +} + +/* Acquire a pointer value */ + +SWIGRUNTIME int +SWIG_Python_AcquirePtr(PyObject *obj, int own) { + if (own == SWIG_POINTER_OWN) { + SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj); + if (sobj) { + int oldown = sobj->own; + sobj->own = own; + return oldown; + } + } + return 0; +} + +/* Convert a pointer value */ + +SWIGRUNTIME int +SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) { + int res; + SwigPyObject *sobj; + int implicit_conv = (flags & SWIG_POINTER_IMPLICIT_CONV) != 0; + + if (!obj) + return SWIG_ERROR; + if (obj == Py_None && !implicit_conv) { + if (ptr) + *ptr = 0; + return SWIG_OK; + } + + res = SWIG_ERROR; + + sobj = SWIG_Python_GetSwigThis(obj); + if (own) + *own = 0; + while (sobj) { + void *vptr = sobj->ptr; + if (ty) { + swig_type_info *to = sobj->ty; + if (to == ty) { + /* no type cast needed */ + if (ptr) *ptr = vptr; + break; + } else { + swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); + if (!tc) { + sobj = (SwigPyObject *)sobj->next; + } else { + if (ptr) { + int newmemory = 0; + *ptr = SWIG_TypeCast(tc,vptr,&newmemory); + if (newmemory == SWIG_CAST_NEW_MEMORY) { + assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */ + if (own) + *own = *own | SWIG_CAST_NEW_MEMORY; + } + } + break; + } + } + } else { + if (ptr) *ptr = vptr; + break; + } + } + if (sobj) { + if (own) + *own = *own | sobj->own; + if (flags & SWIG_POINTER_DISOWN) { + sobj->own = 0; + } + res = SWIG_OK; + } else { + if (implicit_conv) { + SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0; + if (data && !data->implicitconv) { + PyObject *klass = data->klass; + if (klass) { + PyObject *impconv; + data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/ + impconv = SWIG_Python_CallFunctor(klass, obj); + data->implicitconv = 0; + if (PyErr_Occurred()) { + PyErr_Clear(); + impconv = 0; + } + if (impconv) { + SwigPyObject *iobj = SWIG_Python_GetSwigThis(impconv); + if (iobj) { + void *vptr; + res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0); + if (SWIG_IsOK(res)) { + if (ptr) { + *ptr = vptr; + /* transfer the ownership to 'ptr' */ + iobj->own = 0; + res = SWIG_AddCast(res); + res = SWIG_AddNewMask(res); + } else { + res = SWIG_AddCast(res); + } + } + } + Py_DECREF(impconv); + } + } + } + } + if (!SWIG_IsOK(res) && obj == Py_None) { + if (ptr) + *ptr = 0; + if (PyErr_Occurred()) + PyErr_Clear(); + res = SWIG_OK; + } + } + return res; +} + +/* Convert a function ptr value */ + +SWIGRUNTIME int +SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) { + if (!PyCFunction_Check(obj)) { + return SWIG_ConvertPtr(obj, ptr, ty, 0); + } else { + void *vptr = 0; + + /* here we get the method pointer for callbacks */ + const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); + const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0; + if (desc) + desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0; + if (!desc) + return SWIG_ERROR; + if (ty) { + swig_cast_info *tc = SWIG_TypeCheck(desc,ty); + if (tc) { + int newmemory = 0; + *ptr = SWIG_TypeCast(tc,vptr,&newmemory); + assert(!newmemory); /* newmemory handling not yet implemented */ + } else { + return SWIG_ERROR; + } + } else { + *ptr = vptr; + } + return SWIG_OK; + } +} + +/* Convert a packed value value */ + +SWIGRUNTIME int +SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) { + swig_type_info *to = SwigPyPacked_UnpackData(obj, ptr, sz); + if (!to) return SWIG_ERROR; + if (ty) { + if (to != ty) { + /* check type cast? */ + swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); + if (!tc) return SWIG_ERROR; + } + } + return SWIG_OK; +} + +/* ----------------------------------------------------------------------------- + * Create a new pointer object + * ----------------------------------------------------------------------------- */ + +/* + Create a new instance object, without calling __init__, and set the + 'this' attribute. +*/ + +SWIGRUNTIME PyObject* +SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this) +{ +#if (PY_VERSION_HEX >= 0x02020000) + PyObject *inst = 0; + PyObject *newraw = data->newraw; + if (newraw) { + inst = PyObject_Call(newraw, data->newargs, NULL); + if (inst) { +#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS) + PyObject **dictptr = _PyObject_GetDictPtr(inst); + if (dictptr != NULL) { + PyObject *dict = *dictptr; + if (dict == NULL) { + dict = PyDict_New(); + *dictptr = dict; + PyDict_SetItem(dict, SWIG_This(), swig_this); + } + } +#else + PyObject *key = SWIG_This(); + PyObject_SetAttr(inst, key, swig_this); +#endif + } + } else { +#if PY_VERSION_HEX >= 0x03000000 + inst = ((PyTypeObject*) data->newargs)->tp_new((PyTypeObject*) data->newargs, Py_None, Py_None); + if (inst) { + PyObject_SetAttr(inst, SWIG_This(), swig_this); + Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG; + } +#else + PyObject *dict = PyDict_New(); + if (dict) { + PyDict_SetItem(dict, SWIG_This(), swig_this); + inst = PyInstance_NewRaw(data->newargs, dict); + Py_DECREF(dict); + } +#endif + } + return inst; +#else +#if (PY_VERSION_HEX >= 0x02010000) + PyObject *inst = 0; + PyObject *dict = PyDict_New(); + if (dict) { + PyDict_SetItem(dict, SWIG_This(), swig_this); + inst = PyInstance_NewRaw(data->newargs, dict); + Py_DECREF(dict); + } + return (PyObject *) inst; +#else + PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type); + if (inst == NULL) { + return NULL; + } + inst->in_class = (PyClassObject *)data->newargs; + Py_INCREF(inst->in_class); + inst->in_dict = PyDict_New(); + if (inst->in_dict == NULL) { + Py_DECREF(inst); + return NULL; + } +#ifdef Py_TPFLAGS_HAVE_WEAKREFS + inst->in_weakreflist = NULL; +#endif +#ifdef Py_TPFLAGS_GC + PyObject_GC_Init(inst); +#endif + PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this); + return (PyObject *) inst; +#endif +#endif +} + +SWIGRUNTIME void +SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this) +{ + PyObject *dict; +#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS) + PyObject **dictptr = _PyObject_GetDictPtr(inst); + if (dictptr != NULL) { + dict = *dictptr; + if (dict == NULL) { + dict = PyDict_New(); + *dictptr = dict; + } + PyDict_SetItem(dict, SWIG_This(), swig_this); + return; + } +#endif + dict = PyObject_GetAttrString(inst, (char*)"__dict__"); + PyDict_SetItem(dict, SWIG_This(), swig_this); + Py_DECREF(dict); +} + + +SWIGINTERN PyObject * +SWIG_Python_InitShadowInstance(PyObject *args) { + PyObject *obj[2]; + if (!SWIG_Python_UnpackTuple(args, "swiginit", 2, 2, obj)) { + return NULL; + } else { + SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]); + if (sthis) { + SwigPyObject_append((PyObject*) sthis, obj[1]); + } else { + SWIG_Python_SetSwigThis(obj[0], obj[1]); + } + return SWIG_Py_Void(); + } +} + +/* Create a new pointer object */ + +SWIGRUNTIME PyObject * +SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int flags) { + SwigPyClientData *clientdata; + PyObject * robj; + int own; + + if (!ptr) + return SWIG_Py_Void(); + + clientdata = type ? (SwigPyClientData *)(type->clientdata) : 0; + own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0; + if (clientdata && clientdata->pytype) { + SwigPyObject *newobj; + if (flags & SWIG_BUILTIN_TP_INIT) { + newobj = (SwigPyObject*) self; + if (newobj->ptr) { + PyObject *next_self = clientdata->pytype->tp_alloc(clientdata->pytype, 0); + while (newobj->next) + newobj = (SwigPyObject *) newobj->next; + newobj->next = next_self; + newobj = (SwigPyObject *)next_self; +#ifdef SWIGPYTHON_BUILTIN + newobj->dict = 0; +#endif + } + } else { + newobj = PyObject_New(SwigPyObject, clientdata->pytype); +#ifdef SWIGPYTHON_BUILTIN + newobj->dict = 0; +#endif + } + if (newobj) { + newobj->ptr = ptr; + newobj->ty = type; + newobj->own = own; + newobj->next = 0; + return (PyObject*) newobj; + } + return SWIG_Py_Void(); + } + + assert(!(flags & SWIG_BUILTIN_TP_INIT)); + + robj = SwigPyObject_New(ptr, type, own); + if (robj && clientdata && !(flags & SWIG_POINTER_NOSHADOW)) { + PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj); + Py_DECREF(robj); + robj = inst; + } + return robj; +} + +/* Create a new packed object */ + +SWIGRUNTIMEINLINE PyObject * +SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) { + return ptr ? SwigPyPacked_New((void *) ptr, sz, type) : SWIG_Py_Void(); +} + +/* -----------------------------------------------------------------------------* + * Get type list + * -----------------------------------------------------------------------------*/ + +#ifdef SWIG_LINK_RUNTIME +void *SWIG_ReturnGlobalTypeList(void *); +#endif + +SWIGRUNTIME swig_module_info * +SWIG_Python_GetModule(void *SWIGUNUSEDPARM(clientdata)) { + static void *type_pointer = (void *)0; + /* first check if module already created */ + if (!type_pointer) { +#ifdef SWIG_LINK_RUNTIME + type_pointer = SWIG_ReturnGlobalTypeList((void *)0); +#else +# ifdef SWIGPY_USE_CAPSULE + type_pointer = PyCapsule_Import(SWIGPY_CAPSULE_NAME, 0); +# else + type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, + (char*)"type_pointer" SWIG_TYPE_TABLE_NAME); +# endif + if (PyErr_Occurred()) { + PyErr_Clear(); + type_pointer = (void *)0; + } +#endif + } + return (swig_module_info *) type_pointer; +} + +#if PY_MAJOR_VERSION < 2 +/* PyModule_AddObject function was introduced in Python 2.0. The following function + is copied out of Python/modsupport.c in python version 2.3.4 */ +SWIGINTERN int +PyModule_AddObject(PyObject *m, char *name, PyObject *o) +{ + PyObject *dict; + if (!PyModule_Check(m)) { + PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs module as first arg"); + return SWIG_ERROR; + } + if (!o) { + PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs non-NULL value"); + return SWIG_ERROR; + } + + dict = PyModule_GetDict(m); + if (dict == NULL) { + /* Internal error -- modules must have a dict! */ + PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__", + PyModule_GetName(m)); + return SWIG_ERROR; + } + if (PyDict_SetItemString(dict, name, o)) + return SWIG_ERROR; + Py_DECREF(o); + return SWIG_OK; +} +#endif + +SWIGRUNTIME void +#ifdef SWIGPY_USE_CAPSULE +SWIG_Python_DestroyModule(PyObject *obj) +#else +SWIG_Python_DestroyModule(void *vptr) +#endif +{ +#ifdef SWIGPY_USE_CAPSULE + swig_module_info *swig_module = (swig_module_info *) PyCapsule_GetPointer(obj, SWIGPY_CAPSULE_NAME); +#else + swig_module_info *swig_module = (swig_module_info *) vptr; +#endif + swig_type_info **types = swig_module->types; + size_t i; + for (i =0; i < swig_module->size; ++i) { + swig_type_info *ty = types[i]; + if (ty->owndata) { + SwigPyClientData *data = (SwigPyClientData *) ty->clientdata; + if (data) SwigPyClientData_Del(data); + } + } + Py_DECREF(SWIG_This()); + swig_this = NULL; +} + +SWIGRUNTIME void +SWIG_Python_SetModule(swig_module_info *swig_module) { +#if PY_VERSION_HEX >= 0x03000000 + /* Add a dummy module object into sys.modules */ + PyObject *module = PyImport_AddModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION); +#else + static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} }; /* Sentinel */ + PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, swig_empty_runtime_method_table); +#endif +#ifdef SWIGPY_USE_CAPSULE + PyObject *pointer = PyCapsule_New((void *) swig_module, SWIGPY_CAPSULE_NAME, SWIG_Python_DestroyModule); + if (pointer && module) { + PyModule_AddObject(module, (char*)"type_pointer_capsule" SWIG_TYPE_TABLE_NAME, pointer); + } else { + Py_XDECREF(pointer); + } +#else + PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule); + if (pointer && module) { + PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer); + } else { + Py_XDECREF(pointer); + } +#endif +} + +/* The python cached type query */ +SWIGRUNTIME PyObject * +SWIG_Python_TypeCache(void) { + static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New(); + return cache; +} + +SWIGRUNTIME swig_type_info * +SWIG_Python_TypeQuery(const char *type) +{ + PyObject *cache = SWIG_Python_TypeCache(); + PyObject *key = SWIG_Python_str_FromChar(type); + PyObject *obj = PyDict_GetItem(cache, key); + swig_type_info *descriptor; + if (obj) { +#ifdef SWIGPY_USE_CAPSULE + descriptor = (swig_type_info *) PyCapsule_GetPointer(obj, NULL); +#else + descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj); +#endif + } else { + swig_module_info *swig_module = SWIG_GetModule(0); + descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type); + if (descriptor) { +#ifdef SWIGPY_USE_CAPSULE + obj = PyCapsule_New((void*) descriptor, NULL, NULL); +#else + obj = PyCObject_FromVoidPtr(descriptor, NULL); +#endif + PyDict_SetItem(cache, key, obj); + Py_DECREF(obj); + } + } + Py_DECREF(key); + return descriptor; +} + +/* + For backward compatibility only +*/ +#define SWIG_POINTER_EXCEPTION 0 +#define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg) +#define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags) + +SWIGRUNTIME int +SWIG_Python_AddErrMesg(const char* mesg, int infront) +{ + if (PyErr_Occurred()) { + PyObject *type = 0; + PyObject *value = 0; + PyObject *traceback = 0; + PyErr_Fetch(&type, &value, &traceback); + if (value) { + char *tmp; + PyObject *old_str = PyObject_Str(value); + Py_XINCREF(type); + PyErr_Clear(); + if (infront) { + PyErr_Format(type, "%s %s", mesg, tmp = SWIG_Python_str_AsChar(old_str)); + } else { + PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg); + } + SWIG_Python_str_DelForPy3(tmp); + Py_DECREF(old_str); + } + return 1; + } else { + return 0; + } +} + +SWIGRUNTIME int +SWIG_Python_ArgFail(int argnum) +{ + if (PyErr_Occurred()) { + /* add information about failing argument */ + char mesg[256]; + PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum); + return SWIG_Python_AddErrMesg(mesg, 1); + } else { + return 0; + } +} + +SWIGRUNTIMEINLINE const char * +SwigPyObject_GetDesc(PyObject *self) +{ + SwigPyObject *v = (SwigPyObject *)self; + swig_type_info *ty = v ? v->ty : 0; + return ty ? ty->str : ""; +} + +SWIGRUNTIME void +SWIG_Python_TypeError(const char *type, PyObject *obj) +{ + if (type) { +#if defined(SWIG_COBJECT_TYPES) + if (obj && SwigPyObject_Check(obj)) { + const char *otype = (const char *) SwigPyObject_GetDesc(obj); + if (otype) { + PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'SwigPyObject(%s)' is received", + type, otype); + return; + } + } else +#endif + { + const char *otype = (obj ? obj->ob_type->tp_name : 0); + if (otype) { + PyObject *str = PyObject_Str(obj); + const char *cstr = str ? SWIG_Python_str_AsChar(str) : 0; + if (cstr) { + PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received", + type, otype, cstr); + SWIG_Python_str_DelForPy3(cstr); + } else { + PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received", + type, otype); + } + Py_XDECREF(str); + return; + } + } + PyErr_Format(PyExc_TypeError, "a '%s' is expected", type); + } else { + PyErr_Format(PyExc_TypeError, "unexpected type is received"); + } +} + + +/* Convert a pointer value, signal an exception on a type mismatch */ +SWIGRUNTIME void * +SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int SWIGUNUSEDPARM(argnum), int flags) { + void *result; + if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) { + PyErr_Clear(); +#if SWIG_POINTER_EXCEPTION + if (flags) { + SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); + SWIG_Python_ArgFail(argnum); + } +#endif + } + return result; +} + +#ifdef SWIGPYTHON_BUILTIN +SWIGRUNTIME int +SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *name, PyObject *value) { + PyTypeObject *tp = obj->ob_type; + PyObject *descr; + PyObject *encoded_name; + descrsetfunc f; + int res = -1; + +# ifdef Py_USING_UNICODE + if (PyString_Check(name)) { + name = PyUnicode_Decode(PyString_AsString(name), PyString_Size(name), NULL, NULL); + if (!name) + return -1; + } else if (!PyUnicode_Check(name)) +# else + if (!PyString_Check(name)) +# endif + { + PyErr_Format(PyExc_TypeError, "attribute name must be string, not '%.200s'", name->ob_type->tp_name); + return -1; + } else { + Py_INCREF(name); + } + + if (!tp->tp_dict) { + if (PyType_Ready(tp) < 0) + goto done; + } + + descr = _PyType_Lookup(tp, name); + f = NULL; + if (descr != NULL) + f = descr->ob_type->tp_descr_set; + if (!f) { + if (PyString_Check(name)) { + encoded_name = name; + Py_INCREF(name); + } else { + encoded_name = PyUnicode_AsUTF8String(name); + } + PyErr_Format(PyExc_AttributeError, "'%.100s' object has no attribute '%.200s'", tp->tp_name, PyString_AsString(encoded_name)); + Py_DECREF(encoded_name); + } else { + res = f(descr, obj, value); + } + + done: + Py_DECREF(name); + return res; +} +#endif + + +#ifdef __cplusplus +} +#endif + + + +#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) + +#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else + + + + #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0) + + +/* -------- TYPES TABLE (BEGIN) -------- */ + +#define SWIGTYPE_p_ParserRuleContext swig_types[0] +#define SWIGTYPE_p_SURELOG__ClassDefinition swig_types[1] +#define SWIGTYPE_p_SURELOG__Design swig_types[2] +#define SWIGTYPE_p_SURELOG__DesignComponent swig_types[3] +#define SWIGTYPE_p_SURELOG__ErrorContainer swig_types[4] +#define SWIGTYPE_p_SURELOG__FileContent swig_types[5] +#define SWIGTYPE_p_SURELOG__ModuleDefinition swig_types[6] +#define SWIGTYPE_p_SURELOG__ModuleInstance swig_types[7] +#define SWIGTYPE_p_SURELOG__Package swig_types[8] +#define SWIGTYPE_p_SURELOG__Program swig_types[9] +#define SWIGTYPE_p_SURELOG__SV3_1aPythonListener swig_types[10] +#define SWIGTYPE_p_VObjectType swig_types[11] +#define SWIGTYPE_p_allocator_type swig_types[12] +#define SWIGTYPE_p_char swig_types[13] +#define SWIGTYPE_p_difference_type swig_types[14] +#define SWIGTYPE_p_p_PyObject swig_types[15] +#define SWIGTYPE_p_size_type swig_types[16] +#define SWIGTYPE_p_std__allocatorT_unsigned_int_t swig_types[17] +#define SWIGTYPE_p_std__invalid_argument swig_types[18] +#define SWIGTYPE_p_std__vectorT_ParserRuleContext_p_std__allocatorT_ParserRuleContext_p_t_t swig_types[19] +#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[20] +#define SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t swig_types[21] +#define SWIGTYPE_p_swig__SwigPyIterator swig_types[22] +#define SWIGTYPE_p_unsigned_int swig_types[23] +#define SWIGTYPE_p_value_type swig_types[24] +static swig_type_info *swig_types[26]; +static swig_module_info swig_module = {swig_types, 25, 0, 0, 0, 0}; +#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) +#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) + +/* -------- TYPES TABLE (END) -------- */ + +#if (PY_VERSION_HEX <= 0x02000000) +# if !defined(SWIG_PYTHON_CLASSIC) +# error "This python version requires swig to be run with the '-classic' option" +# endif +#endif + +/*----------------------------------------------- + @(target):= _slapi.so + ------------------------------------------------*/ +#if PY_VERSION_HEX >= 0x03000000 +# define SWIG_init PyInit__slapi + +#else +# define SWIG_init init_slapi + +#endif +#define SWIG_name "_slapi" + +#define SWIGVERSION 0x030008 +#define SWIG_VERSION SWIGVERSION + + +#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) +#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) + + +#include <stdexcept> + + +namespace swig { + class SwigPtr_PyObject { + protected: + PyObject *_obj; + + public: + SwigPtr_PyObject() :_obj(0) + { + } + + SwigPtr_PyObject(const SwigPtr_PyObject& item) : _obj(item._obj) + { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; + Py_XINCREF(_obj); + SWIG_PYTHON_THREAD_END_BLOCK; + } + + SwigPtr_PyObject(PyObject *obj, bool initial_ref = true) :_obj(obj) + { + if (initial_ref) { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; + Py_XINCREF(_obj); + SWIG_PYTHON_THREAD_END_BLOCK; + } + } + + SwigPtr_PyObject & operator=(const SwigPtr_PyObject& item) + { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; + Py_XINCREF(item._obj); + Py_XDECREF(_obj); + _obj = item._obj; + SWIG_PYTHON_THREAD_END_BLOCK; + return *this; + } + + ~SwigPtr_PyObject() + { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; + Py_XDECREF(_obj); + SWIG_PYTHON_THREAD_END_BLOCK; + } + + operator PyObject *() const + { + return _obj; + } + + PyObject *operator->() const + { + return _obj; + } + }; +} + + +namespace swig { + struct SwigVar_PyObject : SwigPtr_PyObject { + SwigVar_PyObject(PyObject* obj = 0) : SwigPtr_PyObject(obj, false) { } + + SwigVar_PyObject & operator = (PyObject* obj) + { + Py_XDECREF(_obj); + _obj = obj; + return *this; + } + }; +} + + +#include <string> + + +#include <iostream> + +#if PY_VERSION_HEX >= 0x03020000 +# define SWIGPY_SLICE_ARG(obj) ((PyObject*) (obj)) +#else +# define SWIGPY_SLICE_ARG(obj) ((PySliceObject*) (obj)) +#endif + + +#include <stdexcept> + + +#if defined(__GNUC__) +# if __GNUC__ == 2 && __GNUC_MINOR <= 96 +# define SWIG_STD_NOMODERN_STL +# endif +#endif + + +#include <stddef.h> + + +namespace swig { + struct stop_iteration { + }; + + struct SwigPyIterator { + private: + SwigPtr_PyObject _seq; + + protected: + SwigPyIterator(PyObject *seq) : _seq(seq) + { + } + + public: + virtual ~SwigPyIterator() {} + + // Access iterator method, required by Python + virtual PyObject *value() const = 0; + + // Forward iterator method, required by Python + virtual SwigPyIterator *incr(size_t n = 1) = 0; + + // Backward iterator method, very common in C++, but not required in Python + virtual SwigPyIterator *decr(size_t /*n*/ = 1) + { + throw stop_iteration(); + } + + // Random access iterator methods, but not required in Python + virtual ptrdiff_t distance(const SwigPyIterator &/*x*/) const + { + throw std::invalid_argument("operation not supported"); + } + + virtual bool equal (const SwigPyIterator &/*x*/) const + { + throw std::invalid_argument("operation not supported"); + } + + // C++ common/needed methods + virtual SwigPyIterator *copy() const = 0; + + PyObject *next() + { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; // disable threads + PyObject *obj = value(); + incr(); + SWIG_PYTHON_THREAD_END_BLOCK; // re-enable threads + return obj; + } + + /* Make an alias for Python 3.x */ + PyObject *__next__() + { + return next(); + } + + PyObject *previous() + { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; // disable threads + decr(); + PyObject *obj = value(); + SWIG_PYTHON_THREAD_END_BLOCK; // re-enable threads + return obj; + } + + SwigPyIterator *advance(ptrdiff_t n) + { + return (n > 0) ? incr(n) : decr(-n); + } + + bool operator == (const SwigPyIterator& x) const + { + return equal(x); + } + + bool operator != (const SwigPyIterator& x) const + { + return ! operator==(x); + } + + SwigPyIterator& operator += (ptrdiff_t n) + { + return *advance(n); + } + + SwigPyIterator& operator -= (ptrdiff_t n) + { + return *advance(-n); + } + + SwigPyIterator* operator + (ptrdiff_t n) const + { + return copy()->advance(n); + } + + SwigPyIterator* operator - (ptrdiff_t n) const + { + return copy()->advance(-n); + } + + ptrdiff_t operator - (const SwigPyIterator& x) const + { + return x.distance(*this); + } + + static swig_type_info* descriptor() { + static int init = 0; + static swig_type_info* desc = 0; + if (!init) { + desc = SWIG_TypeQuery("swig::SwigPyIterator *"); + init = 1; + } + return desc; + } + }; + +#if defined(SWIGPYTHON_BUILTIN) + inline PyObject* make_output_iterator_builtin (PyObject *pyself) + { + Py_INCREF(pyself); + return pyself; + } +#endif +} + + +SWIGINTERN int +SWIG_AsVal_double (PyObject *obj, double *val) +{ + int res = SWIG_TypeError; + if (PyFloat_Check(obj)) { + if (val) *val = PyFloat_AsDouble(obj); + return SWIG_OK; +#if PY_VERSION_HEX < 0x03000000 + } else if (PyInt_Check(obj)) { + if (val) *val = PyInt_AsLong(obj); + return SWIG_OK; +#endif + } else if (PyLong_Check(obj)) { + double v = PyLong_AsDouble(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_OK; + } else { + PyErr_Clear(); + } + } +#ifdef SWIG_PYTHON_CAST_MODE + { + int dispatch = 0; + double d = PyFloat_AsDouble(obj); + if (!PyErr_Occurred()) { + if (val) *val = d; + return SWIG_AddCast(SWIG_OK); + } else { + PyErr_Clear(); + } + if (!dispatch) { + long v = PyLong_AsLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_AddCast(SWIG_AddCast(SWIG_OK)); + } else { + PyErr_Clear(); + } + } + } +#endif + return res; +} + + +#include <float.h> + + +#include <math.h> + + +SWIGINTERNINLINE int +SWIG_CanCastAsInteger(double *d, double min, double max) { + double x = *d; + if ((min <= x && x <= max)) { + double fx = floor(x); + double cx = ceil(x); + double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */ + if ((errno == EDOM) || (errno == ERANGE)) { + errno = 0; + } else { + double summ, reps, diff; + if (rd < x) { + diff = x - rd; + } else if (rd > x) { + diff = rd - x; + } else { + return 1; + } + summ = rd + x; + reps = diff/summ; + if (reps < 8*DBL_EPSILON) { + *d = rd; + return 1; + } + } + } + return 0; +} + + +SWIGINTERN int +SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val) +{ +#if PY_VERSION_HEX < 0x03000000 + if (PyInt_Check(obj)) { + long v = PyInt_AsLong(obj); + if (v >= 0) { + if (val) *val = v; + return SWIG_OK; + } else { + return SWIG_OverflowError; + } + } else +#endif + if (PyLong_Check(obj)) { + unsigned long v = PyLong_AsUnsignedLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_OK; + } else { + PyErr_Clear(); + return SWIG_OverflowError; + } + } +#ifdef SWIG_PYTHON_CAST_MODE + { + int dispatch = 0; + unsigned long v = PyLong_AsUnsignedLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_AddCast(SWIG_OK); + } else { + PyErr_Clear(); + } + if (!dispatch) { + double d; + int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); + if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) { + if (val) *val = (unsigned long)(d); + return res; + } + } + } +#endif + return SWIG_TypeError; +} + + +SWIGINTERNINLINE int +SWIG_AsVal_size_t (PyObject * obj, size_t *val) +{ + unsigned long v; + int res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0); + if (SWIG_IsOK(res) && val) *val = static_cast< size_t >(v); + return res; +} + + + #define SWIG_From_long PyLong_FromLong + + +SWIGINTERNINLINE PyObject * +SWIG_From_ptrdiff_t (ptrdiff_t value) +{ + return SWIG_From_long (static_cast< long >(value)); +} + + +SWIGINTERNINLINE PyObject* + SWIG_From_bool (bool value) +{ + return PyBool_FromLong(value ? 1 : 0); +} + + +SWIGINTERN int +SWIG_AsVal_long (PyObject *obj, long* val) +{ +#if PY_VERSION_HEX < 0x03000000 + if (PyInt_Check(obj)) { + if (val) *val = PyInt_AsLong(obj); + return SWIG_OK; + } else +#endif + if (PyLong_Check(obj)) { + long v = PyLong_AsLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_OK; + } else { + PyErr_Clear(); + return SWIG_OverflowError; + } + } +#ifdef SWIG_PYTHON_CAST_MODE + { + int dispatch = 0; + long v = PyInt_AsLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_AddCast(SWIG_OK); + } else { + PyErr_Clear(); + } + if (!dispatch) { + double d; + int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); + if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) { + if (val) *val = (long)(d); + return res; + } + } + } +#endif + return SWIG_TypeError; +} + + +SWIGINTERNINLINE int +SWIG_AsVal_ptrdiff_t (PyObject * obj, ptrdiff_t *val) +{ + long v; + int res = SWIG_AsVal_long (obj, val ? &v : 0); + if (SWIG_IsOK(res) && val) *val = static_cast< ptrdiff_t >(v); + return res; +} + + +#include <algorithm> + + +#include <vector> + + +namespace swig { + template <class Type> + struct noconst_traits { + typedef Type noconst_type; + }; + + template <class Type> + struct noconst_traits<const Type> { + typedef Type noconst_type; + }; + + /* + type categories + */ + struct pointer_category { }; + struct value_category { }; + + /* + General traits that provides type_name and type_info + */ + template <class Type> struct traits { }; + + template <class Type> + inline const char* type_name() { + return traits<typename noconst_traits<Type >::noconst_type >::type_name(); + } + + template <class Type> + struct traits_info { + static swig_type_info *type_query(std::string name) { + name += " *"; + return SWIG_TypeQuery(name.c_str()); + } + static swig_type_info *type_info() { + static swig_type_info *info = type_query(type_name<Type>()); + return info; + } + }; + + template <class Type> + inline swig_type_info *type_info() { + return traits_info<Type>::type_info(); + } + + /* + Partial specialization for pointers + */ + template <class Type> struct traits <Type *> { + typedef pointer_category category; + static std::string make_ptr_name(const char* name) { + std::string ptrname = name; + ptrname += " *"; + return ptrname; + } + static const char* type_name() { + static std::string name = make_ptr_name(swig::type_name<Type>()); + return name.c_str(); + } + }; + + template <class Type, class Category> + struct traits_as { }; + + template <class Type, class Category> + struct traits_check { }; + +} + + +namespace swig { + /* + Traits that provides the from method + */ + template <class Type> struct traits_from_ptr { + static PyObject *from(Type *val, int owner = 0) { + return SWIG_InternalNewPointerObj(val, type_info<Type>(), owner); + } + }; + + template <class Type> struct traits_from { + static PyObject *from(const Type& val) { + return traits_from_ptr<Type>::from(new Type(val), 1); + } + }; + + template <class Type> struct traits_from<Type *> { + static PyObject *from(Type* val) { + return traits_from_ptr<Type>::from(val, 0); + } + }; + + template <class Type> struct traits_from<const Type *> { + static PyObject *from(const Type* val) { + return traits_from_ptr<Type>::from(const_cast<Type*>(val), 0); + } + }; + + + template <class Type> + inline PyObject *from(const Type& val) { + return traits_from<Type>::from(val); + } + + template <class Type> + inline PyObject *from_ptr(Type* val, int owner) { + return traits_from_ptr<Type>::from(val, owner); + } + + /* + Traits that provides the asval/as/check method + */ + template <class Type> + struct traits_asptr { + static int asptr(PyObject *obj, Type **val) { + Type *p; + int res = SWIG_ConvertPtr(obj, (void**)&p, type_info<Type>(), 0); + if (SWIG_IsOK(res)) { + if (val) *val = p; + } + return res; + } + }; + + template <class Type> + inline int asptr(PyObject *obj, Type **vptr) { + return traits_asptr<Type>::asptr(obj, vptr); + } + + template <class Type> + struct traits_asval { + static int asval(PyObject *obj, Type *val) { + if (val) { + Type *p = 0; + int res = traits_asptr<Type>::asptr(obj, &p); + if (!SWIG_IsOK(res)) return res; + if (p) { + typedef typename noconst_traits<Type>::noconst_type noconst_type; + *(const_cast<noconst_type*>(val)) = *p; + if (SWIG_IsNewObj(res)){ + delete p; + res = SWIG_DelNewMask(res); + } + return res; + } else { + return SWIG_ERROR; + } + } else { + return traits_asptr<Type>::asptr(obj, (Type **)(0)); + } + } + }; + + template <class Type> struct traits_asval<Type*> { + static int asval(PyObject *obj, Type **val) { + if (val) { + typedef typename noconst_traits<Type>::noconst_type noconst_type; + noconst_type *p = 0; + int res = traits_asptr<noconst_type>::asptr(obj, &p); + if (SWIG_IsOK(res)) { + *(const_cast<noconst_type**>(val)) = p; + } + return res; + } else { + return traits_asptr<Type>::asptr(obj, (Type **)(0)); + } + } + }; + + template <class Type> + inline int asval(PyObject *obj, Type *val) { + return traits_asval<Type>::asval(obj, val); + } + + template <class Type> + struct traits_as<Type, value_category> { + static Type as(PyObject *obj, bool throw_error) { + Type v; + int res = asval(obj, &v); + if (!obj || !SWIG_IsOK(res)) { + if (!PyErr_Occurred()) { + ::SWIG_Error(SWIG_TypeError, swig::type_name<Type>()); + } + if (throw_error) throw std::invalid_argument("bad type"); + } + return v; + } + }; + + template <class Type> + struct traits_as<Type, pointer_category> { + static Type as(PyObject *obj, bool throw_error) { + Type *v = 0; + int res = (obj ? traits_asptr<Type>::asptr(obj, &v) : SWIG_ERROR); + if (SWIG_IsOK(res) && v) { + if (SWIG_IsNewObj(res)) { + Type r(*v); + delete v; + return r; + } else { + return *v; + } + } else { + // Uninitialized return value, no Type() constructor required. + static Type *v_def = (Type*) malloc(sizeof(Type)); + if (!PyErr_Occurred()) { + SWIG_Error(SWIG_TypeError, swig::type_name<Type>()); + } + if (throw_error) throw std::invalid_argument("bad type"); + memset(v_def,0,sizeof(Type)); + return *v_def; + } + } + }; + + template <class Type> + struct traits_as<Type*, pointer_category> { + static Type* as(PyObject *obj, bool throw_error) { + Type *v = 0; + int res = (obj ? traits_asptr<Type>::asptr(obj, &v) : SWIG_ERROR); + if (SWIG_IsOK(res)) { + return v; + } else { + if (!PyErr_Occurred()) { + SWIG_Error(SWIG_TypeError, swig::type_name<Type>()); + } + if (throw_error) throw std::invalid_argument("bad type"); + return 0; + } + } + }; + + template <class Type> + inline Type as(PyObject *obj, bool te = false) { + return traits_as<Type, typename traits<Type>::category>::as(obj, te); + } + + template <class Type> + struct traits_check<Type, value_category> { + static bool check(PyObject *obj) { + int res = obj ? asval(obj, (Type *)(0)) : SWIG_ERROR; + return SWIG_IsOK(res) ? true : false; + } + }; + + template <class Type> + struct traits_check<Type, pointer_category> { + static bool check(PyObject *obj) { + int res = obj ? asptr(obj, (Type **)(0)) : SWIG_ERROR; + return SWIG_IsOK(res) ? true : false; + } + }; + + template <class Type> + inline bool check(PyObject *obj) { + return traits_check<Type, typename traits<Type>::category>::check(obj); + } +} + + +#include <functional> + +namespace std { + template <> + struct less <PyObject *>: public binary_function<PyObject *, PyObject *, bool> + { + bool + operator()(PyObject * v, PyObject *w) const + { + bool res; + SWIG_PYTHON_THREAD_BEGIN_BLOCK; + res = PyObject_RichCompareBool(v, w, Py_LT) ? true : false; + /* This may fall into a case of inconsistent + eg. ObjA > ObjX > ObjB + but ObjA < ObjB + */ + if( PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_TypeError) ) + { + /* Objects can't be compared, this mostly occurred in Python 3.0 */ + /* Compare their ptr directly for a workaround */ + res = (v < w); + PyErr_Clear(); + } + SWIG_PYTHON_THREAD_END_BLOCK; + return res; + } + }; + + template <> + struct less <swig::SwigPtr_PyObject>: public binary_function<swig::SwigPtr_PyObject, swig::SwigPtr_PyObject, bool> + { + bool + operator()(const swig::SwigPtr_PyObject& v, const swig::SwigPtr_PyObject& w) const + { + return std::less<PyObject *>()(v, w); + } + }; + + template <> + struct less <swig::SwigVar_PyObject>: public binary_function<swig::SwigVar_PyObject, swig::SwigVar_PyObject, bool> + { + bool + operator()(const swig::SwigVar_PyObject& v, const swig::SwigVar_PyObject& w) const + { + return std::less<PyObject *>()(v, w); + } + }; + +} + +namespace swig { + template <> struct traits<PyObject *> { + typedef value_category category; + static const char* type_name() { return "PyObject *"; } + }; + + template <> struct traits_asval<PyObject * > { + typedef PyObject * value_type; + static int asval(PyObject *obj, value_type *val) { + if (val) *val = obj; + return SWIG_OK; + } + }; + + template <> + struct traits_check<PyObject *, value_category> { + static bool check(PyObject *) { + return true; + } + }; + + template <> struct traits_from<PyObject *> { + typedef PyObject * value_type; + static PyObject *from(const value_type& val) { + Py_XINCREF(val); + return val; + } + }; + +} + +namespace swig { + template <class Difference> + inline size_t + check_index(Difference i, size_t size, bool insert = false) { + if ( i < 0 ) { + if ((size_t) (-i) <= size) + return (size_t) (i + size); + } else if ( (size_t) i < size ) { + return (size_t) i; + } else if (insert && ((size_t) i == size)) { + return size; + } + throw std::out_of_range("index out of range"); + } + + template <class Difference> + void + slice_adjust(Difference i, Difference j, Py_ssize_t step, size_t size, Difference &ii, Difference &jj, bool insert = false) { + if (step == 0) { + throw std::invalid_argument("slice step cannot be zero"); + } else if (step > 0) { + // Required range: 0 <= i < size, 0 <= j < size + if (i < 0) { + ii = 0; + } else if (i < (Difference)size) { + ii = i; + } else if (insert && (i >= (Difference)size)) { + ii = (Difference)size; + } + if ( j < 0 ) { + jj = 0; + } else { + jj = (j < (Difference)size) ? j : (Difference)size; + } + } else { + // Required range: -1 <= i < size-1, -1 <= j < size-1 + if (i < -1) { + ii = -1; + } else if (i < (Difference) size) { + ii = i; + } else if (i >= (Difference)(size-1)) { + ii = (Difference)(size-1); + } + if (j < -1) { + jj = -1; + } else { + jj = (j < (Difference)size ) ? j : (Difference)(size-1); + } + } + } + + template <class Sequence, class Difference> + inline typename Sequence::iterator + getpos(Sequence* self, Difference i) { + typename Sequence::iterator pos = self->begin(); + std::advance(pos, check_index(i,self->size())); + return pos; + } + + template <class Sequence, class Difference> + inline typename Sequence::const_iterator + cgetpos(const Sequence* self, Difference i) { + typename Sequence::const_iterator pos = self->begin(); + std::advance(pos, check_index(i,self->size())); + return pos; + } + + template <class Sequence> + inline void + erase(Sequence* seq, const typename Sequence::iterator& position) { + seq->erase(position); + } + + template <class Sequence, class Difference> + inline Sequence* + getslice(const Sequence* self, Difference i, Difference j, Py_ssize_t step) { + typename Sequence::size_type size = self->size(); + Difference ii = 0; + Difference jj = 0; + swig::slice_adjust(i, j, step, size, ii, jj); + + if (step > 0) { + typename Sequence::const_iterator sb = self->begin(); + typename Sequence::const_iterator se = self->begin(); + std::advance(sb,ii); + std::advance(se,jj); + if (step == 1) { + return new Sequence(sb, se); + } else { + Sequence *sequence = new Sequence(); + typename Sequence::const_iterator it = sb; + while (it!=se) { + sequence->push_back(*it); + for (Py_ssize_t c=0; c<step && it!=se; ++c) + it++; + } + return sequence; + } + } else { + Sequence *sequence = new Sequence(); + if (ii > jj) { + typename Sequence::const_reverse_iterator sb = self->rbegin(); + typename Sequence::const_reverse_iterator se = self->rbegin(); + std::advance(sb,size-ii-1); + std::advance(se,size-jj-1); + typename Sequence::const_reverse_iterator it = sb; + while (it!=se) { + sequence->push_back(*it); + for (Py_ssize_t c=0; c<-step && it!=se; ++c) + it++; + } + } + return sequence; + } + } + + template <class Sequence, class Difference, class InputSeq> + inline void + setslice(Sequence* self, Difference i, Difference j, Py_ssize_t step, const InputSeq& is = InputSeq()) { + typename Sequence::size_type size = self->size(); + Difference ii = 0; + Difference jj = 0; + swig::slice_adjust(i, j, step, size, ii, jj, true); + if (step > 0) { + if (jj < ii) + jj = ii; + if (step == 1) { + size_t ssize = jj - ii; + if (ssize <= is.size()) { + // expanding/staying the same size + typename Sequence::iterator sb = self->begin(); + typename InputSeq::const_iterator isit = is.begin(); + std::advance(sb,ii); + std::advance(isit, jj - ii); + self->insert(std::copy(is.begin(), isit, sb), isit, is.end()); + } else { + // shrinking + typename Sequence::iterator sb = self->begin(); + typename Sequence::iterator se = self->begin(); + std::advance(sb,ii); + std::advance(se,jj); + self->erase(sb,se); + sb = self->begin(); + std::advance(sb,ii); + self->insert(sb, is.begin(), is.end()); + } + } else { + size_t replacecount = (jj - ii + step - 1) / step; + if (is.size() != replacecount) { + char msg[1024]; + sprintf(msg, "attempt to assign sequence of size %lu to extended slice of size %lu", (unsigned long)is.size(), (unsigned long)replacecount); + throw std::invalid_argument(msg); + } + typename Sequence::const_iterator isit = is.begin(); + typename Sequence::iterator it = self->begin(); + std::advance(it,ii); + for (size_t rc=0; rc<replacecount; ++rc) { + *it++ = *isit++; + for (Py_ssize_t c=0; c<(step-1) && it != self->end(); ++c) + it++; + } + } + } else { + if (jj > ii) + jj = ii; + size_t replacecount = (ii - jj - step - 1) / -step; + if (is.size() != replacecount) { + char msg[1024]; + sprintf(msg, "attempt to assign sequence of size %lu to extended slice of size %lu", (unsigned long)is.size(), (unsigned long)replacecount); + throw std::invalid_argument(msg); + } + typename Sequence::const_iterator isit = is.begin(); + typename Sequence::reverse_iterator it = self->rbegin(); + std::advance(it,size-ii-1); + for (size_t rc=0; rc<replacecount; ++rc) { + *it++ = *isit++; + for (Py_ssize_t c=0; c<(-step-1) && it != self->rend(); ++c) + it++; + } + } + } + + template <class Sequence, class Difference> + inline void + delslice(Sequence* self, Difference i, Difference j, Py_ssize_t step) { + typename Sequence::size_type size = self->size(); + Difference ii = 0; + Difference jj = 0; + swig::slice_adjust(i, j, step, size, ii, jj, true); + if (step > 0) { + if (jj > ii) { + typename Sequence::iterator sb = self->begin(); + std::advance(sb,ii); + if (step == 1) { + typename Sequence::iterator se = self->begin(); + std::advance(se,jj); + self->erase(sb,se); + } else { + typename Sequence::iterator it = sb; + size_t delcount = (jj - ii + step - 1) / step; + while (delcount) { + it = self->erase(it); + for (Py_ssize_t c=0; c<(step-1) && it != self->end(); ++c) + it++; + delcount--; + } + } + } + } else { + if (ii > jj) { + typename Sequence::reverse_iterator sb = self->rbegin(); + std::advance(sb,size-ii-1); + typename Sequence::reverse_iterator it = sb; + size_t delcount = (ii - jj - step - 1) / -step; + while (delcount) { + it = typename Sequence::reverse_iterator(self->erase((++it).base())); + for (Py_ssize_t c=0; c<(-step-1) && it != self->rend(); ++c) + it++; + delcount--; + } + } + } + } +} + + +#if defined(__SUNPRO_CC) && defined(_RWSTD_VER) +# if !defined(SWIG_NO_STD_NOITERATOR_TRAITS_STL) +# define SWIG_STD_NOITERATOR_TRAITS_STL +# endif +#endif + +#if !defined(SWIG_STD_NOITERATOR_TRAITS_STL) +#include <iterator> +#else +namespace std { + template <class Iterator> + struct iterator_traits { + typedef ptrdiff_t difference_type; + typedef typename Iterator::value_type value_type; + }; + + template <class Iterator, class Category,class T, class Reference, class Pointer, class Distance> + struct iterator_traits<__reverse_bi_iterator<Iterator,Category,T,Reference,Pointer,Distance> > { + typedef Distance difference_type; + typedef T value_type; + }; + + template <class T> + struct iterator_traits<T*> { + typedef T value_type; + typedef ptrdiff_t difference_type; + }; + + template<typename _InputIterator> + inline typename iterator_traits<_InputIterator>::difference_type + distance(_InputIterator __first, _InputIterator __last) + { + typename iterator_traits<_InputIterator>::difference_type __n = 0; + while (__first != __last) { + ++__first; ++__n; + } + return __n; + } +} +#endif + + +namespace swig { + template<typename OutIterator> + class SwigPyIterator_T : public SwigPyIterator + { + public: + typedef OutIterator out_iterator; + typedef typename std::iterator_traits<out_iterator>::value_type value_type; + typedef SwigPyIterator_T<out_iterator> self_type; + + SwigPyIterator_T(out_iterator curr, PyObject *seq) + : SwigPyIterator(seq), current(curr) + { + } + + const out_iterator& get_current() const + { + return current; + } + + + bool equal (const SwigPyIterator &iter) const + { + const self_type *iters = dynamic_cast<const self_type *>(&iter); + if (iters) { + return (current == iters->get_current()); + } else { + throw std::invalid_argument("bad iterator type"); + } + } + + ptrdiff_t distance(const SwigPyIterator &iter) const + { + const self_type *iters = dynamic_cast<const self_type *>(&iter); + if (iters) { + return std::distance(current, iters->get_current()); + } else { + throw std::invalid_argument("bad iterator type"); + } + } + + protected: + out_iterator current; + }; + + template <class ValueType> + struct from_oper + { + typedef const ValueType& argument_type; + typedef PyObject *result_type; + result_type operator()(argument_type v) const + { + return swig::from(v); + } + }; + + template<typename OutIterator, + typename ValueType = typename std::iterator_traits<OutIterator>::value_type, + typename FromOper = from_oper<ValueType> > + class SwigPyIteratorOpen_T : public SwigPyIterator_T<OutIterator> + { + public: + FromOper from; + typedef OutIterator out_iterator; + typedef ValueType value_type; + typedef SwigPyIterator_T<out_iterator> base; + typedef SwigPyIteratorOpen_T<OutIterator, ValueType, FromOper> self_type; + + SwigPyIteratorOpen_T(out_iterator curr, PyObject *seq) + : SwigPyIterator_T<OutIterator>(curr, seq) + { + } + + PyObject *value() const { + return from(static_cast<const value_type&>(*(base::current))); + } + + SwigPyIterator *copy() const + { + return new self_type(*this); + } + + SwigPyIterator *incr(size_t n = 1) + { + while (n--) { + ++base::current; + } + return this; + } + + SwigPyIterator *decr(size_t n = 1) + { + while (n--) { + --base::current; + } + return this; + } + }; + + template<typename OutIterator, + typename ValueType = typename std::iterator_traits<OutIterator>::value_type, + typename FromOper = from_oper<ValueType> > + class SwigPyIteratorClosed_T : public SwigPyIterator_T<OutIterator> + { + public: + FromOper from; + typedef OutIterator out_iterator; + typedef ValueType value_type; + typedef SwigPyIterator_T<out_iterator> base; + typedef SwigPyIteratorClosed_T<OutIterator, ValueType, FromOper> self_type; + + SwigPyIteratorClosed_T(out_iterator curr, out_iterator first, out_iterator last, PyObject *seq) + : SwigPyIterator_T<OutIterator>(curr, seq), begin(first), end(last) + { + } + + PyObject *value() const { + if (base::current == end) { + throw stop_iteration(); + } else { + return from(static_cast<const value_type&>(*(base::current))); + } + } + + SwigPyIterator *copy() const + { + return new self_type(*this); + } + + SwigPyIterator *incr(size_t n = 1) + { + while (n--) { + if (base::current == end) { + throw stop_iteration(); + } else { + ++base::current; + } + } + return this; + } + + SwigPyIterator *decr(size_t n = 1) + { + while (n--) { + if (base::current == begin) { + throw stop_iteration(); + } else { + --base::current; + } + } + return this; + } + + private: + out_iterator begin; + out_iterator end; + }; + + template<typename OutIter> + inline SwigPyIterator* + make_output_iterator(const OutIter& current, const OutIter& begin,const OutIter& end, PyObject *seq = 0) + { + return new SwigPyIteratorClosed_T<OutIter>(current, begin, end, seq); + } + + template<typename OutIter> + inline SwigPyIterator* + make_output_iterator(const OutIter& current, PyObject *seq = 0) + { + return new SwigPyIteratorOpen_T<OutIter>(current, seq); + } + +} + + +namespace swig +{ + template <class T> + struct SwigPySequence_Ref + { + SwigPySequence_Ref(PyObject* seq, Py_ssize_t index) + : _seq(seq), _index(index) + { + } + + operator T () const + { + swig::SwigVar_PyObject item = PySequence_GetItem(_seq, _index); + try { + return swig::as<T>(item, true); + } catch (std::exception& e) { + char msg[1024]; + sprintf(msg, "in sequence element %d ", (int)_index); + if (!PyErr_Occurred()) { + ::SWIG_Error(SWIG_TypeError, swig::type_name<T>()); + } + SWIG_Python_AddErrorMsg(msg); + SWIG_Python_AddErrorMsg(e.what()); + throw; + } + } + + SwigPySequence_Ref& operator=(const T& v) + { + PySequence_SetItem(_seq, _index, swig::from<T>(v)); + return *this; + } + + private: + PyObject* _seq; + Py_ssize_t _index; + }; + + template <class T> + struct SwigPySequence_ArrowProxy + { + SwigPySequence_ArrowProxy(const T& x): m_value(x) {} + const T* operator->() const { return &m_value; } + operator const T*() const { return &m_value; } + T m_value; + }; + + template <class T, class Reference > + struct SwigPySequence_InputIterator + { + typedef SwigPySequence_InputIterator<T, Reference > self; + + typedef std::random_access_iterator_tag iterator_category; + typedef Reference reference; + typedef T value_type; + typedef T* pointer; + typedef Py_ssize_t difference_type; + + SwigPySequence_InputIterator() + { + } + + SwigPySequence_InputIterator(PyObject* seq, Py_ssize_t index) + : _seq(seq), _index(index) + { + } + + reference operator*() const + { + return reference(_seq, _index); + } + + SwigPySequence_ArrowProxy<T> + operator->() const { + return SwigPySequence_ArrowProxy<T>(operator*()); + } + + bool operator==(const self& ri) const + { + return (_index == ri._index) && (_seq == ri._seq); + } + + bool operator!=(const self& ri) const + { + return !(operator==(ri)); + } + + self& operator ++ () + { + ++_index; + return *this; + } + + self& operator -- () + { + --_index; + return *this; + } + + self& operator += (difference_type n) + { + _index += n; + return *this; + } + + self operator +(difference_type n) const + { + return self(_seq, _index + n); + } + + self& operator -= (difference_type n) + { + _index -= n; + return *this; + } + + self operator -(difference_type n) const + { + return self(_seq, _index - n); + } + + difference_type operator - (const self& ri) const + { + return _index - ri._index; + } + + bool operator < (const self& ri) const + { + return _index < ri._index; + } + + reference + operator[](difference_type n) const + { + return reference(_seq, _index + n); + } + + private: + PyObject* _seq; + difference_type _index; + }; + + // STL container wrapper around a Python sequence + template <class T> + struct SwigPySequence_Cont + { + typedef SwigPySequence_Ref<T> reference; + typedef const SwigPySequence_Ref<T> const_reference; + typedef T value_type; + typedef T* pointer; + typedef Py_ssize_t difference_type; + typedef size_t size_type; + typedef const pointer const_pointer; + typedef SwigPySequence_InputIterator<T, reference> iterator; + typedef SwigPySequence_InputIterator<T, const_reference> const_iterator; + + SwigPySequence_Cont(PyObject* seq) : _seq(0) + { + if (!PySequence_Check(seq)) { + throw std::invalid_argument("a sequence is expected"); + } + _seq = seq; + Py_INCREF(_seq); + } + + ~SwigPySequence_Cont() + { + Py_XDECREF(_seq); + } + + size_type size() const + { + return static_cast<size_type>(PySequence_Size(_seq)); + } + + bool empty() const + { + return size() == 0; + } + + iterator begin() + { + return iterator(_seq, 0); + } + + const_iterator begin() const + { + return const_iterator(_seq, 0); + } + + iterator end() + { + return iterator(_seq, size()); + } + + const_iterator end() const + { + return const_iterator(_seq, size()); + } + + reference operator[](difference_type n) + { + return reference(_seq, n); + } + + const_reference operator[](difference_type n) const + { + return const_reference(_seq, n); + } + + bool check(bool set_err = true) const + { + Py_ssize_t s = size(); + for (Py_ssize_t i = 0; i < s; ++i) { + swig::SwigVar_PyObject item = PySequence_GetItem(_seq, i); + if (!swig::check<value_type>(item)) { + if (set_err) { + char msg[1024]; + sprintf(msg, "in sequence element %d", (int)i); + SWIG_Error(SWIG_RuntimeError, msg); + } + return false; + } + } + return true; + } + + private: + PyObject* _seq; + }; + +} + + +#include <limits.h> +#if !defined(SWIG_NO_LLONG_MAX) +# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__) +# define LLONG_MAX __LONG_LONG_MAX__ +# define LLONG_MIN (-LLONG_MAX - 1LL) +# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) +# endif +#endif + + +SWIGINTERN int +SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val) +{ + unsigned long v; + int res = SWIG_AsVal_unsigned_SS_long (obj, &v); + if (SWIG_IsOK(res)) { + if ((v > UINT_MAX)) { + return SWIG_OverflowError; + } else { + if (val) *val = static_cast< unsigned int >(v); + } + } + return res; +} + + +SWIGINTERNINLINE PyObject* + SWIG_From_unsigned_SS_int (unsigned int value) +{ + return PyInt_FromSize_t((size_t) value); +} + + +namespace swig { + template <> struct traits< unsigned int > { + typedef value_category category; + static const char* type_name() { return"unsigned int"; } + }; + template <> struct traits_asval< unsigned int > { + typedef unsigned int value_type; + static int asval(PyObject *obj, value_type *val) { + return SWIG_AsVal_unsigned_SS_int (obj, val); + } + }; + template <> struct traits_from< unsigned int > { + typedef unsigned int value_type; + static PyObject *from(const value_type& val) { + return SWIG_From_unsigned_SS_int (val); + } + }; +} + + +namespace swig { + template <class SwigPySeq, class Seq> + inline void + assign(const SwigPySeq& swigpyseq, Seq* seq) { + // seq->assign(swigpyseq.begin(), swigpyseq.end()); // not used as not always implemented + typedef typename SwigPySeq::value_type value_type; + typename SwigPySeq::const_iterator it = swigpyseq.begin(); + for (;it != swigpyseq.end(); ++it) { + seq->insert(seq->end(),(value_type)(*it)); + } + } + + template <class Seq, class T = typename Seq::value_type > + struct traits_asptr_stdseq { + typedef Seq sequence; + typedef T value_type; + + static int asptr(PyObject *obj, sequence **seq) { + if (obj == Py_None || SWIG_Python_GetSwigThis(obj)) { + sequence *p; + if (::SWIG_ConvertPtr(obj,(void**)&p, + swig::type_info<sequence>(),0) == SWIG_OK) { + if (seq) *seq = p; + return SWIG_OLDOBJ; + } + } else if (PySequence_Check(obj)) { + try { + SwigPySequence_Cont<value_type> swigpyseq(obj); + if (seq) { + sequence *pseq = new sequence(); + assign(swigpyseq, pseq); + *seq = pseq; + return SWIG_NEWOBJ; + } else { + return swigpyseq.check() ? SWIG_OK : SWIG_ERROR; + } + } catch (std::exception& e) { + if (seq) { + if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, e.what()); + } + } + return SWIG_ERROR; + } + } + return SWIG_ERROR; + } + }; + + template <class Seq, class T = typename Seq::value_type > + struct traits_from_stdseq { + typedef Seq sequence; + typedef T value_type; + typedef typename Seq::size_type size_type; + typedef typename sequence::const_iterator const_iterator; + + static PyObject *from(const sequence& seq) { +#ifdef SWIG_PYTHON_EXTRA_NATIVE_CONTAINERS + swig_type_info *desc = swig::type_info<sequence>(); + if (desc && desc->clientdata) { + return SWIG_NewPointerObj(new sequence(seq), desc, SWIG_POINTER_OWN); + } +#endif + size_type size = seq.size(); + if (size <= (size_type)INT_MAX) { + PyObject *obj = PyTuple_New((Py_ssize_t)size); + Py_ssize_t i = 0; + for (const_iterator it = seq.begin(); it != seq.end(); ++it, ++i) { + PyTuple_SetItem(obj,i,swig::from<value_type>(*it)); + } + return obj; + } else { + PyErr_SetString(PyExc_OverflowError,"sequence size not valid in python"); + return NULL; + } + } + }; +} + + + namespace swig { + template <class T> + struct traits_asptr<std::vector<T> > { + static int asptr(PyObject *obj, std::vector<T> **vec) { + return traits_asptr_stdseq<std::vector<T> >::asptr(obj, vec); + } + }; + + template <class T> + struct traits_from<std::vector<T> > { + static PyObject *from(const std::vector<T>& vec) { + return traits_from_stdseq<std::vector<T> >::from(vec); + } + }; + } + + + namespace swig { + template <> struct traits<std::vector< unsigned int, std::allocator< unsigned int > > > { + typedef pointer_category category; + static const char* type_name() { + return "std::vector<" "unsigned int" "," "std::allocator< unsigned int >" " >"; + } + }; + } + +SWIGINTERN swig::SwigPyIterator *std_vector_Sl_unsigned_SS_int_Sg__iterator(std::vector< unsigned int > *self,PyObject **PYTHON_SELF){ + return swig::make_output_iterator(self->begin(), self->begin(), self->end(), *PYTHON_SELF); + } +SWIGINTERN bool std_vector_Sl_unsigned_SS_int_Sg____nonzero__(std::vector< unsigned int > const *self){ + return !(self->empty()); + } +SWIGINTERN bool std_vector_Sl_unsigned_SS_int_Sg____bool__(std::vector< unsigned int > const *self){ + return !(self->empty()); + } +SWIGINTERN std::vector< unsigned int >::size_type std_vector_Sl_unsigned_SS_int_Sg____len__(std::vector< unsigned int > const *self){ + return self->size(); + } + +SWIGINTERNINLINE PyObject* +SWIG_From_unsigned_SS_long (unsigned long value) +{ + return (value > LONG_MAX) ? + PyLong_FromUnsignedLong(value) : PyLong_FromLong(static_cast< long >(value)); +} + + +SWIGINTERNINLINE PyObject * +SWIG_From_size_t (size_t value) +{ + return SWIG_From_unsigned_SS_long (static_cast< unsigned long >(value)); +} + +SWIGINTERN std::vector< unsigned int,std::allocator< unsigned int > > *std_vector_Sl_unsigned_SS_int_Sg____getslice__(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i,std::vector< unsigned int >::difference_type j){ + return swig::getslice(self, i, j, 1); + } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____setslice____SWIG_0(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i,std::vector< unsigned int >::difference_type j){ + swig::setslice(self, i, j, 1, std::vector< unsigned int,std::allocator< unsigned int > >()); + } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____setslice____SWIG_1(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i,std::vector< unsigned int >::difference_type j,std::vector< unsigned int,std::allocator< unsigned int > > const &v){ + swig::setslice(self, i, j, 1, v); + } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____delslice__(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i,std::vector< unsigned int >::difference_type j){ + swig::delslice(self, i, j, 1); + } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____delitem____SWIG_0(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i){ + swig::erase(self, swig::getpos(self, i)); + } +SWIGINTERN std::vector< unsigned int,std::allocator< unsigned int > > *std_vector_Sl_unsigned_SS_int_Sg____getitem____SWIG_0(std::vector< unsigned int > *self,PySliceObject *slice){ + Py_ssize_t i, j, step; + if( !PySlice_Check(slice) ) { + SWIG_Error(SWIG_TypeError, "Slice object expected."); + return NULL; + } + PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step); + std::vector< unsigned int,std::allocator< unsigned int > >::difference_type id = i; + std::vector< unsigned int,std::allocator< unsigned int > >::difference_type jd = j; + return swig::getslice(self, id, jd, step); + } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____setitem____SWIG_0(std::vector< unsigned int > *self,PySliceObject *slice,std::vector< unsigned int,std::allocator< unsigned int > > const &v){ + Py_ssize_t i, j, step; + if( !PySlice_Check(slice) ) { + SWIG_Error(SWIG_TypeError, "Slice object expected."); + return; + } + PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step); + std::vector< unsigned int,std::allocator< unsigned int > >::difference_type id = i; + std::vector< unsigned int,std::allocator< unsigned int > >::difference_type jd = j; + swig::setslice(self, id, jd, step, v); + } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____setitem____SWIG_1(std::vector< unsigned int > *self,PySliceObject *slice){ + Py_ssize_t i, j, step; + if( !PySlice_Check(slice) ) { + SWIG_Error(SWIG_TypeError, "Slice object expected."); + return; + } + PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step); + std::vector< unsigned int,std::allocator< unsigned int > >::difference_type id = i; + std::vector< unsigned int,std::allocator< unsigned int > >::difference_type jd = j; + swig::delslice(self, id, jd, step); + } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____delitem____SWIG_1(std::vector< unsigned int > *self,PySliceObject *slice){ + Py_ssize_t i, j, step; + if( !PySlice_Check(slice) ) { + SWIG_Error(SWIG_TypeError, "Slice object expected."); + return; + } + PySlice_GetIndices(SWIGPY_SLICE_ARG(slice), (Py_ssize_t)self->size(), &i, &j, &step); + std::vector< unsigned int,std::allocator< unsigned int > >::difference_type id = i; + std::vector< unsigned int,std::allocator< unsigned int > >::difference_type jd = j; + swig::delslice(self, id, jd, step); + } +SWIGINTERN std::vector< unsigned int >::value_type const &std_vector_Sl_unsigned_SS_int_Sg____getitem____SWIG_1(std::vector< unsigned int > const *self,std::vector< unsigned int >::difference_type i){ + return *(swig::cgetpos(self, i)); + } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____setitem____SWIG_2(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i,std::vector< unsigned int >::value_type const &x){ + *(swig::getpos(self,i)) = x; + } +SWIGINTERN std::vector< unsigned int >::value_type std_vector_Sl_unsigned_SS_int_Sg__pop(std::vector< unsigned int > *self){ + if (self->size() == 0) + throw std::out_of_range("pop from empty container"); + std::vector< unsigned int,std::allocator< unsigned int > >::value_type x = self->back(); + self->pop_back(); + return x; + } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__append(std::vector< unsigned int > *self,std::vector< unsigned int >::value_type const &x){ + self->push_back(x); + } +SWIGINTERN std::vector< unsigned int >::iterator std_vector_Sl_unsigned_SS_int_Sg__erase__SWIG_0(std::vector< unsigned int > *self,std::vector< unsigned int >::iterator pos){ return self->erase(pos); } +SWIGINTERN std::vector< unsigned int >::iterator std_vector_Sl_unsigned_SS_int_Sg__erase__SWIG_1(std::vector< unsigned int > *self,std::vector< unsigned int >::iterator first,std::vector< unsigned int >::iterator last){ return self->erase(first, last); } +SWIGINTERN std::vector< unsigned int >::iterator std_vector_Sl_unsigned_SS_int_Sg__insert__SWIG_0(std::vector< unsigned int > *self,std::vector< unsigned int >::iterator pos,std::vector< unsigned int >::value_type const &x){ return self->insert(pos, x); } +SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__insert__SWIG_1(std::vector< unsigned int > *self,std::vector< unsigned int >::iterator pos,std::vector< unsigned int >::size_type n,std::vector< unsigned int >::value_type const &x){ self->insert(pos, n, x); } + +SWIGINTERN swig_type_info* +SWIG_pchar_descriptor(void) +{ + static int init = 0; + static swig_type_info* info = 0; + if (!init) { + info = SWIG_TypeQuery("_p_char"); + init = 1; + } + return info; +} + + +SWIGINTERN int +SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc) +{ +#if PY_VERSION_HEX>=0x03000000 + if (PyUnicode_Check(obj)) +#else + if (PyString_Check(obj)) +#endif + { + char *cstr; Py_ssize_t len; +#if PY_VERSION_HEX>=0x03000000 + if (!alloc && cptr) { + /* We can't allow converting without allocation, since the internal + representation of string in Python 3 is UCS-2/UCS-4 but we require + a UTF-8 representation. + TODO(bhy) More detailed explanation */ + return SWIG_RuntimeError; + } + obj = PyUnicode_AsUTF8String(obj); + PyBytes_AsStringAndSize(obj, &cstr, &len); + if(alloc) *alloc = SWIG_NEWOBJ; +#else + PyString_AsStringAndSize(obj, &cstr, &len); +#endif + if (cptr) { + if (alloc) { + /* + In python the user should not be able to modify the inner + string representation. To warranty that, if you define + SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string + buffer is always returned. + + The default behavior is just to return the pointer value, + so, be careful. + */ +#if defined(SWIG_PYTHON_SAFE_CSTRINGS) + if (*alloc != SWIG_OLDOBJ) +#else + if (*alloc == SWIG_NEWOBJ) +#endif + { + *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); + *alloc = SWIG_NEWOBJ; + } else { + *cptr = cstr; + *alloc = SWIG_OLDOBJ; + } + } else { + #if PY_VERSION_HEX>=0x03000000 + assert(0); /* Should never reach here in Python 3 */ + #endif + *cptr = SWIG_Python_str_AsChar(obj); + } + } + if (psize) *psize = len + 1; +#if PY_VERSION_HEX>=0x03000000 + Py_XDECREF(obj); +#endif + return SWIG_OK; + } else { +#if defined(SWIG_PYTHON_2_UNICODE) +#if PY_VERSION_HEX<0x03000000 + if (PyUnicode_Check(obj)) { + char *cstr; Py_ssize_t len; + if (!alloc && cptr) { + return SWIG_RuntimeError; + } + obj = PyUnicode_AsUTF8String(obj); + if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) { + if (cptr) { + if (alloc) *alloc = SWIG_NEWOBJ; + *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); + } + if (psize) *psize = len + 1; + + Py_XDECREF(obj); + return SWIG_OK; + } else { + Py_XDECREF(obj); + } + } +#endif +#endif + + swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); + if (pchar_descriptor) { + void* vptr = 0; + if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) { + if (cptr) *cptr = (char *) vptr; + if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0; + if (alloc) *alloc = SWIG_OLDOBJ; + return SWIG_OK; + } + } + } + return SWIG_TypeError; +} + + + + + +SWIGINTERN int +SWIG_AsVal_bool (PyObject *obj, bool *val) +{ + int r; + if (!PyBool_Check(obj)) + return SWIG_ERROR; + r = PyObject_IsTrue(obj); + if (r == -1) + return SWIG_ERROR; + if (val) *val = r ? true : false; + return SWIG_OK; +} + + +SWIGINTERNINLINE PyObject * +SWIG_FromCharPtrAndSize(const char* carray, size_t size) +{ + if (carray) { + if (size > INT_MAX) { + swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); + return pchar_descriptor ? + SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void(); + } else { +#if PY_VERSION_HEX >= 0x03000000 +#if PY_VERSION_HEX >= 0x03010000 + return PyUnicode_DecodeUTF8(carray, static_cast< Py_ssize_t >(size), "surrogateescape"); +#else + return PyUnicode_FromStringAndSize(carray, static_cast< Py_ssize_t >(size)); +#endif +#else + return PyString_FromStringAndSize(carray, static_cast< Py_ssize_t >(size)); +#endif + } + } else { + return SWIG_Py_Void(); + } +} + + +SWIGINTERNINLINE PyObject * +SWIG_From_std_string (const std::string& s) +{ + return SWIG_FromCharPtrAndSize(s.data(), s.size()); +} + + +SWIGINTERNINLINE PyObject* + SWIG_From_int (int value) +{ + return PyInt_FromLong((long) value); +} + +#ifdef __cplusplus +extern "C" { +#endif +SWIGINTERN PyObject *_wrap_delete_SwigPyIterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:delete_SwigPyIterator",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SwigPyIterator" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + PyObject *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_value",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_value" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (PyObject *)((swig::SwigPyIterator const *)arg1)->value(); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = result; + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_incr",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_incr" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator_incr" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + try { + result = (swig::SwigPyIterator *)(arg1)->incr(arg2); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_incr",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_incr" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (swig::SwigPyIterator *)(arg1)->incr(); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_incr(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SwigPyIterator_incr__SWIG_1(self, args); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SwigPyIterator_incr__SWIG_0(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SwigPyIterator_incr'.\n" + " Possible C/C++ prototypes are:\n" + " swig::SwigPyIterator::incr(size_t)\n" + " swig::SwigPyIterator::incr()\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_decr",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_decr" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator_decr" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + try { + result = (swig::SwigPyIterator *)(arg1)->decr(arg2); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_decr",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_decr" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (swig::SwigPyIterator *)(arg1)->decr(); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_decr(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SwigPyIterator_decr__SWIG_1(self, args); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SwigPyIterator_decr__SWIG_0(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SwigPyIterator_decr'.\n" + " Possible C/C++ prototypes are:\n" + " swig::SwigPyIterator::decr(size_t)\n" + " swig::SwigPyIterator::decr()\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_distance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + swig::SwigPyIterator *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + ptrdiff_t result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_distance",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_distance" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator_distance" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator_distance" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2); + try { + result = ((swig::SwigPyIterator const *)arg1)->distance((swig::SwigPyIterator const &)*arg2); + } + catch(std::invalid_argument &_e) { + SWIG_Python_Raise(SWIG_NewPointerObj((new std::invalid_argument(static_cast< const std::invalid_argument& >(_e))),SWIGTYPE_p_std__invalid_argument,SWIG_POINTER_OWN), "std::invalid_argument", SWIGTYPE_p_std__invalid_argument); SWIG_fail; + } + + resultobj = SWIG_From_ptrdiff_t(static_cast< ptrdiff_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_equal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + swig::SwigPyIterator *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_equal",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_equal" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator_equal" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator_equal" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2); + try { + result = (bool)((swig::SwigPyIterator const *)arg1)->equal((swig::SwigPyIterator const &)*arg2); + } + catch(std::invalid_argument &_e) { + SWIG_Python_Raise(SWIG_NewPointerObj((new std::invalid_argument(static_cast< const std::invalid_argument& >(_e))),SWIGTYPE_p_std__invalid_argument,SWIG_POINTER_OWN), "std::invalid_argument", SWIGTYPE_p_std__invalid_argument); SWIG_fail; + } + + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_copy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_copy",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_copy" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + result = (swig::SwigPyIterator *)((swig::SwigPyIterator const *)arg1)->copy(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + PyObject *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_next",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_next" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (PyObject *)(arg1)->next(); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = result; + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator___next__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + PyObject *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator___next__",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___next__" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (PyObject *)(arg1)->__next__(); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = result; + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_previous(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + PyObject *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_previous",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_previous" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + try { + result = (PyObject *)(arg1)->previous(); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = result; + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator_advance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + ptrdiff_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_advance",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_advance" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator_advance" "', argument " "2"" of type '" "ptrdiff_t""'"); + } + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *)(arg1)->advance(arg2); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + swig::SwigPyIterator *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___eq__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___eq__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator___eq__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator___eq__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2); + result = (bool)((swig::SwigPyIterator const *)arg1)->operator ==((swig::SwigPyIterator const &)*arg2); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + swig::SwigPyIterator *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___ne__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___ne__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator___ne__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator___ne__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2); + result = (bool)((swig::SwigPyIterator const *)arg1)->operator !=((swig::SwigPyIterator const &)*arg2); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator___iadd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + ptrdiff_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___iadd__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___iadd__" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator___iadd__" "', argument " "2"" of type '" "ptrdiff_t""'"); + } + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *) &(arg1)->operator +=(arg2); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator___isub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + ptrdiff_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___isub__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___isub__" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator___isub__" "', argument " "2"" of type '" "ptrdiff_t""'"); + } + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *) &(arg1)->operator -=(arg2); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator___add__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + ptrdiff_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___add__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___add__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator___add__" "', argument " "2"" of type '" "ptrdiff_t""'"); + } + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *)((swig::SwigPyIterator const *)arg1)->operator +(arg2); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + ptrdiff_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + swig::SwigPyIterator *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___sub__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___sub__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator___sub__" "', argument " "2"" of type '" "ptrdiff_t""'"); + } + arg2 = static_cast< ptrdiff_t >(val2); + try { + result = (swig::SwigPyIterator *)((swig::SwigPyIterator const *)arg1)->operator -(arg2); + } + catch(swig::stop_iteration &_e) { + { + (void)_e; + SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void()); + SWIG_fail; + } + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ; + swig::SwigPyIterator *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + ptrdiff_t result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___sub__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___sub__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); + } + arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator___sub__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator___sub__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); + } + arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2); + result = ((swig::SwigPyIterator const *)arg1)->operator -((swig::SwigPyIterator const &)*arg2); + resultobj = SWIG_From_ptrdiff_t(static_cast< ptrdiff_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SwigPyIterator___sub__(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_swig__SwigPyIterator, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SwigPyIterator___sub____SWIG_1(self, args); + } + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SwigPyIterator___sub____SWIG_0(self, args); + } + } + } + +fail: + Py_INCREF(Py_NotImplemented); + return Py_NotImplemented; +} + + +SWIGINTERN PyObject *SwigPyIterator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_swig__SwigPyIterator, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *_wrap_UIntVector_iterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + PyObject **arg2 = (PyObject **) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + swig::SwigPyIterator *result = 0 ; + + arg2 = &obj0; + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_iterator",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_iterator" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (swig::SwigPyIterator *)std_vector_Sl_unsigned_SS_int_Sg__iterator(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector___nonzero__",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___nonzero__" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (bool)std_vector_Sl_unsigned_SS_int_Sg____nonzero__((std::vector< unsigned int > const *)arg1); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___bool__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector___bool__",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___bool__" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (bool)std_vector_Sl_unsigned_SS_int_Sg____bool__((std::vector< unsigned int > const *)arg1); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::size_type result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector___len__",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___len__" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = std_vector_Sl_unsigned_SS_int_Sg____len__((std::vector< unsigned int > const *)arg1); + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::difference_type arg2 ; + std::vector< unsigned int >::difference_type arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + ptrdiff_t val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + std::vector< unsigned int,std::allocator< unsigned int > > *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:UIntVector___getslice__",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___getslice__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector___getslice__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); + ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "UIntVector___getslice__" "', argument " "3"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg3 = static_cast< std::vector< unsigned int >::difference_type >(val3); + try { + result = (std::vector< unsigned int,std::allocator< unsigned int > > *)std_vector_Sl_unsigned_SS_int_Sg____getslice__(arg1,arg2,arg3); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + catch(std::invalid_argument &_e) { + SWIG_exception_fail(SWIG_ValueError, (&_e)->what()); + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___setslice____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::difference_type arg2 ; + std::vector< unsigned int >::difference_type arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + ptrdiff_t val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:UIntVector___setslice__",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___setslice__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector___setslice__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); + ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "UIntVector___setslice__" "', argument " "3"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg3 = static_cast< std::vector< unsigned int >::difference_type >(val3); + try { + std_vector_Sl_unsigned_SS_int_Sg____setslice____SWIG_0(arg1,arg2,arg3); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + catch(std::invalid_argument &_e) { + SWIG_exception_fail(SWIG_ValueError, (&_e)->what()); + } + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___setslice____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::difference_type arg2 ; + std::vector< unsigned int >::difference_type arg3 ; + std::vector< unsigned int,std::allocator< unsigned int > > *arg4 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + ptrdiff_t val3 ; + int ecode3 = 0 ; + int res4 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:UIntVector___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___setslice__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector___setslice__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); + ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "UIntVector___setslice__" "', argument " "3"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg3 = static_cast< std::vector< unsigned int >::difference_type >(val3); + { + std::vector< unsigned int,std::allocator< unsigned int > > *ptr = (std::vector< unsigned int,std::allocator< unsigned int > > *)0; + res4 = swig::asptr(obj3, &ptr); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "UIntVector___setslice__" "', argument " "4"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "UIntVector___setslice__" "', argument " "4"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); + } + arg4 = ptr; + } + try { + std_vector_Sl_unsigned_SS_int_Sg____setslice____SWIG_1(arg1,arg2,arg3,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg4); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + catch(std::invalid_argument &_e) { + SWIG_exception_fail(SWIG_ValueError, (&_e)->what()); + } + + resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res4)) delete arg4; + return resultobj; +fail: + if (SWIG_IsNewObj(res4)) delete arg4; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___setslice__(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[5] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 4) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 3) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_ptrdiff_t(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_UIntVector___setslice____SWIG_0(self, args); + } + } + } + } + if (argc == 4) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_ptrdiff_t(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + int res = swig::asptr(argv[3], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_UIntVector___setslice____SWIG_1(self, args); + } + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'UIntVector___setslice__'.\n" + " Possible C/C++ prototypes are:\n" + " std::vector< unsigned int >::__setslice__(std::vector< unsigned int >::difference_type,std::vector< unsigned int >::difference_type)\n" + " std::vector< unsigned int >::__setslice__(std::vector< unsigned int >::difference_type,std::vector< unsigned int >::difference_type,std::vector< unsigned int,std::allocator< unsigned int > > const &)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___delslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::difference_type arg2 ; + std::vector< unsigned int >::difference_type arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + ptrdiff_t val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:UIntVector___delslice__",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___delslice__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector___delslice__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); + ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "UIntVector___delslice__" "', argument " "3"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg3 = static_cast< std::vector< unsigned int >::difference_type >(val3); + try { + std_vector_Sl_unsigned_SS_int_Sg____delslice__(arg1,arg2,arg3); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + catch(std::invalid_argument &_e) { + SWIG_exception_fail(SWIG_ValueError, (&_e)->what()); + } + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___delitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::difference_type arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector___delitem__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___delitem__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector___delitem__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); + try { + std_vector_Sl_unsigned_SS_int_Sg____delitem____SWIG_0(arg1,arg2); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + catch(std::invalid_argument &_e) { + SWIG_exception_fail(SWIG_ValueError, (&_e)->what()); + } + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + PySliceObject *arg2 = (PySliceObject *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + std::vector< unsigned int,std::allocator< unsigned int > > *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector___getitem__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___getitem__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + { + if (!PySlice_Check(obj1)) { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector___getitem__" "', argument " "2"" of type '" "PySliceObject *""'"); + } + arg2 = (PySliceObject *) obj1; + } + try { + result = (std::vector< unsigned int,std::allocator< unsigned int > > *)std_vector_Sl_unsigned_SS_int_Sg____getitem____SWIG_0(arg1,arg2); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + catch(std::invalid_argument &_e) { + SWIG_exception_fail(SWIG_ValueError, (&_e)->what()); + } + + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___setitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + PySliceObject *arg2 = (PySliceObject *) 0 ; + std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res3 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:UIntVector___setitem__",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___setitem__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + { + if (!PySlice_Check(obj1)) { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector___setitem__" "', argument " "2"" of type '" "PySliceObject *""'"); + } + arg2 = (PySliceObject *) obj1; + } + { + std::vector< unsigned int,std::allocator< unsigned int > > *ptr = (std::vector< unsigned int,std::allocator< unsigned int > > *)0; + res3 = swig::asptr(obj2, &ptr); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "UIntVector___setitem__" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "UIntVector___setitem__" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); + } + arg3 = ptr; + } + try { + std_vector_Sl_unsigned_SS_int_Sg____setitem____SWIG_0(arg1,arg2,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg3); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + catch(std::invalid_argument &_e) { + SWIG_exception_fail(SWIG_ValueError, (&_e)->what()); + } + + resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res3)) delete arg3; + return resultobj; +fail: + if (SWIG_IsNewObj(res3)) delete arg3; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___setitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + PySliceObject *arg2 = (PySliceObject *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector___setitem__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___setitem__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + { + if (!PySlice_Check(obj1)) { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector___setitem__" "', argument " "2"" of type '" "PySliceObject *""'"); + } + arg2 = (PySliceObject *) obj1; + } + try { + std_vector_Sl_unsigned_SS_int_Sg____setitem____SWIG_1(arg1,arg2); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + catch(std::invalid_argument &_e) { + SWIG_exception_fail(SWIG_ValueError, (&_e)->what()); + } + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___delitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + PySliceObject *arg2 = (PySliceObject *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector___delitem__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___delitem__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + { + if (!PySlice_Check(obj1)) { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector___delitem__" "', argument " "2"" of type '" "PySliceObject *""'"); + } + arg2 = (PySliceObject *) obj1; + } + try { + std_vector_Sl_unsigned_SS_int_Sg____delitem____SWIG_1(arg1,arg2); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + catch(std::invalid_argument &_e) { + SWIG_exception_fail(SWIG_ValueError, (&_e)->what()); + } + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___delitem__(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + _v = PySlice_Check(argv[1]); + } + if (_v) { + return _wrap_UIntVector___delitem____SWIG_1(self, args); + } + } + } + if (argc == 2) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_UIntVector___delitem____SWIG_0(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'UIntVector___delitem__'.\n" + " Possible C/C++ prototypes are:\n" + " std::vector< unsigned int >::__delitem__(std::vector< unsigned int >::difference_type)\n" + " std::vector< unsigned int >::__delitem__(PySliceObject *)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::difference_type arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + std::vector< unsigned int >::value_type *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector___getitem__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___getitem__" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector___getitem__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); + try { + result = (std::vector< unsigned int >::value_type *) &std_vector_Sl_unsigned_SS_int_Sg____getitem____SWIG_1((std::vector< unsigned int > const *)arg1,arg2); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(*result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___getitem__(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + _v = PySlice_Check(argv[1]); + } + if (_v) { + return _wrap_UIntVector___getitem____SWIG_0(self, args); + } + } + } + if (argc == 2) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_UIntVector___getitem____SWIG_1(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'UIntVector___getitem__'.\n" + " Possible C/C++ prototypes are:\n" + " std::vector< unsigned int >::__getitem__(PySliceObject *)\n" + " std::vector< unsigned int >::__getitem__(std::vector< unsigned int >::difference_type) const\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___setitem____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::difference_type arg2 ; + std::vector< unsigned int >::value_type *arg3 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + ptrdiff_t val2 ; + int ecode2 = 0 ; + std::vector< unsigned int >::value_type temp3 ; + unsigned int val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:UIntVector___setitem__",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector___setitem__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector___setitem__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "UIntVector___setitem__" "', argument " "3"" of type '" "std::vector< unsigned int >::value_type""'"); + } + temp3 = static_cast< std::vector< unsigned int >::value_type >(val3); + arg3 = &temp3; + try { + std_vector_Sl_unsigned_SS_int_Sg____setitem____SWIG_2(arg1,arg2,(unsigned int const &)*arg3); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector___setitem__(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 3) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + _v = PySlice_Check(argv[1]); + } + if (_v) { + return _wrap_UIntVector___setitem____SWIG_1(self, args); + } + } + } + if (argc == 3) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + _v = PySlice_Check(argv[1]); + } + if (_v) { + int res = swig::asptr(argv[2], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_UIntVector___setitem____SWIG_0(self, args); + } + } + } + } + if (argc == 3) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_UIntVector___setitem____SWIG_2(self, args); + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'UIntVector___setitem__'.\n" + " Possible C/C++ prototypes are:\n" + " std::vector< unsigned int >::__setitem__(PySliceObject *,std::vector< unsigned int,std::allocator< unsigned int > > const &)\n" + " std::vector< unsigned int >::__setitem__(PySliceObject *)\n" + " std::vector< unsigned int >::__setitem__(std::vector< unsigned int >::difference_type,std::vector< unsigned int >::value_type const &)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::value_type result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_pop",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_pop" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + try { + result = (std::vector< unsigned int >::value_type)std_vector_Sl_unsigned_SS_int_Sg__pop(arg1); + } + catch(std::out_of_range &_e) { + SWIG_exception_fail(SWIG_IndexError, (&_e)->what()); + } + + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::value_type *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + std::vector< unsigned int >::value_type temp2 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector_append",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_append" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector_append" "', argument " "2"" of type '" "std::vector< unsigned int >::value_type""'"); + } + temp2 = static_cast< std::vector< unsigned int >::value_type >(val2); + arg2 = &temp2; + std_vector_Sl_unsigned_SS_int_Sg__append(arg1,(unsigned int const &)*arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_UIntVector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)":new_UIntVector")) SWIG_fail; + result = (std::vector< unsigned int > *)new std::vector< unsigned int >(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_UIntVector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = 0 ; + int res1 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + std::vector< unsigned int > *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:new_UIntVector",&obj0)) SWIG_fail; + { + std::vector< unsigned int,std::allocator< unsigned int > > *ptr = (std::vector< unsigned int,std::allocator< unsigned int > > *)0; + res1 = swig::asptr(obj0, &ptr); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_UIntVector" "', argument " "1"" of type '" "std::vector< unsigned int > const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_UIntVector" "', argument " "1"" of type '" "std::vector< unsigned int > const &""'"); + } + arg1 = ptr; + } + result = (std::vector< unsigned int > *)new std::vector< unsigned int >((std::vector< unsigned int > const &)*arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, SWIG_POINTER_NEW | 0 ); + if (SWIG_IsNewObj(res1)) delete arg1; + return resultobj; +fail: + if (SWIG_IsNewObj(res1)) delete arg1; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_empty",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_empty" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (bool)((std::vector< unsigned int > const *)arg1)->empty(); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::size_type result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_size",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_size" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = ((std::vector< unsigned int > const *)arg1)->size(); + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int > *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector_swap",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_swap" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "UIntVector_swap" "', argument " "2"" of type '" "std::vector< unsigned int > &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "UIntVector_swap" "', argument " "2"" of type '" "std::vector< unsigned int > &""'"); + } + arg2 = reinterpret_cast< std::vector< unsigned int > * >(argp2); + (arg1)->swap(*arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::iterator result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_begin",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_begin" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (arg1)->begin(); + resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< unsigned int >::iterator & >(result)), + swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::iterator result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_end",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_end" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (arg1)->end(); + resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< unsigned int >::iterator & >(result)), + swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::reverse_iterator result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_rbegin",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_rbegin" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (arg1)->rbegin(); + resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< unsigned int >::reverse_iterator & >(result)), + swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::reverse_iterator result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_rend",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_rend" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (arg1)->rend(); + resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< unsigned int >::reverse_iterator & >(result)), + swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_clear",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_clear" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + (arg1)->clear(); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SwigValueWrapper< std::allocator< unsigned int > > result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_get_allocator",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_get_allocator" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = ((std::vector< unsigned int > const *)arg1)->get_allocator(); + resultobj = SWIG_NewPointerObj((new std::vector< unsigned int >::allocator_type(static_cast< const std::vector< unsigned int >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_unsigned_int_t, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_UIntVector__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int >::size_type arg1 ; + size_t val1 ; + int ecode1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int > *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:new_UIntVector",&obj0)) SWIG_fail; + ecode1 = SWIG_AsVal_size_t(obj0, &val1); + if (!SWIG_IsOK(ecode1)) { + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_UIntVector" "', argument " "1"" of type '" "std::vector< unsigned int >::size_type""'"); + } + arg1 = static_cast< std::vector< unsigned int >::size_type >(val1); + result = (std::vector< unsigned int > *)new std::vector< unsigned int >(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_pop_back",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_pop_back" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + (arg1)->pop_back(); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::size_type arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector_resize",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_resize" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector_resize" "', argument " "2"" of type '" "std::vector< unsigned int >::size_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::size_type >(val2); + (arg1)->resize(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_erase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::iterator arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + swig::SwigPyIterator *iter2 = 0 ; + int res2 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + std::vector< unsigned int >::iterator result; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector_erase",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_erase" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0); + if (!SWIG_IsOK(res2) || !iter2) { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_erase" "', argument " "2"" of type '" "std::vector< unsigned int >::iterator""'"); + } else { + swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter2); + if (iter_t) { + arg2 = iter_t->get_current(); + } else { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_erase" "', argument " "2"" of type '" "std::vector< unsigned int >::iterator""'"); + } + } + result = std_vector_Sl_unsigned_SS_int_Sg__erase__SWIG_0(arg1,arg2); + resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< unsigned int >::iterator & >(result)), + swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_erase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::iterator arg2 ; + std::vector< unsigned int >::iterator arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + swig::SwigPyIterator *iter2 = 0 ; + int res2 ; + swig::SwigPyIterator *iter3 = 0 ; + int res3 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + std::vector< unsigned int >::iterator result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:UIntVector_erase",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_erase" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0); + if (!SWIG_IsOK(res2) || !iter2) { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_erase" "', argument " "2"" of type '" "std::vector< unsigned int >::iterator""'"); + } else { + swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter2); + if (iter_t) { + arg2 = iter_t->get_current(); + } else { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_erase" "', argument " "2"" of type '" "std::vector< unsigned int >::iterator""'"); + } + } + res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::SwigPyIterator::descriptor(), 0); + if (!SWIG_IsOK(res3) || !iter3) { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_erase" "', argument " "3"" of type '" "std::vector< unsigned int >::iterator""'"); + } else { + swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter3); + if (iter_t) { + arg3 = iter_t->get_current(); + } else { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_erase" "', argument " "3"" of type '" "std::vector< unsigned int >::iterator""'"); + } + } + result = std_vector_Sl_unsigned_SS_int_Sg__erase__SWIG_1(arg1,arg2,arg3); + resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< unsigned int >::iterator & >(result)), + swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_erase(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 3) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + swig::SwigPyIterator *iter = 0; + int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0); + _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter) != 0)); + if (_v) { + return _wrap_UIntVector_erase__SWIG_0(self, args); + } + } + } + if (argc == 3) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + swig::SwigPyIterator *iter = 0; + int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0); + _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter) != 0)); + if (_v) { + swig::SwigPyIterator *iter = 0; + int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0); + _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter) != 0)); + if (_v) { + return _wrap_UIntVector_erase__SWIG_1(self, args); + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'UIntVector_erase'.\n" + " Possible C/C++ prototypes are:\n" + " std::vector< unsigned int >::erase(std::vector< unsigned int >::iterator)\n" + " std::vector< unsigned int >::erase(std::vector< unsigned int >::iterator,std::vector< unsigned int >::iterator)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_new_UIntVector__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int >::size_type arg1 ; + std::vector< unsigned int >::value_type *arg2 = 0 ; + size_t val1 ; + int ecode1 = 0 ; + std::vector< unsigned int >::value_type temp2 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + std::vector< unsigned int > *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:new_UIntVector",&obj0,&obj1)) SWIG_fail; + ecode1 = SWIG_AsVal_size_t(obj0, &val1); + if (!SWIG_IsOK(ecode1)) { + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_UIntVector" "', argument " "1"" of type '" "std::vector< unsigned int >::size_type""'"); + } + arg1 = static_cast< std::vector< unsigned int >::size_type >(val1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_UIntVector" "', argument " "2"" of type '" "std::vector< unsigned int >::value_type""'"); + } + temp2 = static_cast< std::vector< unsigned int >::value_type >(val2); + arg2 = &temp2; + result = (std::vector< unsigned int > *)new std::vector< unsigned int >(arg1,(std::vector< unsigned int >::value_type const &)*arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_UIntVector(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 0) { + return _wrap_new_UIntVector__SWIG_0(self, args); + } + if (argc == 1) { + int _v; + { + int res = SWIG_AsVal_size_t(argv[0], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_UIntVector__SWIG_2(self, args); + } + } + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_UIntVector__SWIG_1(self, args); + } + } + if (argc == 2) { + int _v; + { + int res = SWIG_AsVal_size_t(argv[0], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_UIntVector__SWIG_3(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'new_UIntVector'.\n" + " Possible C/C++ prototypes are:\n" + " std::vector< unsigned int >::vector()\n" + " std::vector< unsigned int >::vector(std::vector< unsigned int > const &)\n" + " std::vector< unsigned int >::vector(std::vector< unsigned int >::size_type)\n" + " std::vector< unsigned int >::vector(std::vector< unsigned int >::size_type,std::vector< unsigned int >::value_type const &)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_push_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::value_type *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + std::vector< unsigned int >::value_type temp2 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector_push_back",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_push_back" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector_push_back" "', argument " "2"" of type '" "std::vector< unsigned int >::value_type""'"); + } + temp2 = static_cast< std::vector< unsigned int >::value_type >(val2); + arg2 = &temp2; + (arg1)->push_back((std::vector< unsigned int >::value_type const &)*arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_front(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::value_type *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_front",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_front" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (std::vector< unsigned int >::value_type *) &((std::vector< unsigned int > const *)arg1)->front(); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(*result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::value_type *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_back",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_back" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = (std::vector< unsigned int >::value_type *) &((std::vector< unsigned int > const *)arg1)->back(); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(*result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::size_type arg2 ; + std::vector< unsigned int >::value_type *arg3 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + std::vector< unsigned int >::value_type temp3 ; + unsigned int val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:UIntVector_assign",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_assign" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector_assign" "', argument " "2"" of type '" "std::vector< unsigned int >::size_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::size_type >(val2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "UIntVector_assign" "', argument " "3"" of type '" "std::vector< unsigned int >::value_type""'"); + } + temp3 = static_cast< std::vector< unsigned int >::value_type >(val3); + arg3 = &temp3; + (arg1)->assign(arg2,(std::vector< unsigned int >::value_type const &)*arg3); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::size_type arg2 ; + std::vector< unsigned int >::value_type *arg3 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + std::vector< unsigned int >::value_type temp3 ; + unsigned int val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:UIntVector_resize",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_resize" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector_resize" "', argument " "2"" of type '" "std::vector< unsigned int >::size_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::size_type >(val2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "UIntVector_resize" "', argument " "3"" of type '" "std::vector< unsigned int >::value_type""'"); + } + temp3 = static_cast< std::vector< unsigned int >::value_type >(val3); + arg3 = &temp3; + (arg1)->resize(arg2,(std::vector< unsigned int >::value_type const &)*arg3); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_resize(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 3) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_UIntVector_resize__SWIG_0(self, args); + } + } + } + if (argc == 3) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_UIntVector_resize__SWIG_1(self, args); + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'UIntVector_resize'.\n" + " Possible C/C++ prototypes are:\n" + " std::vector< unsigned int >::resize(std::vector< unsigned int >::size_type)\n" + " std::vector< unsigned int >::resize(std::vector< unsigned int >::size_type,std::vector< unsigned int >::value_type const &)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::iterator arg2 ; + std::vector< unsigned int >::value_type *arg3 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + swig::SwigPyIterator *iter2 = 0 ; + int res2 ; + std::vector< unsigned int >::value_type temp3 ; + unsigned int val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + std::vector< unsigned int >::iterator result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:UIntVector_insert",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_insert" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0); + if (!SWIG_IsOK(res2) || !iter2) { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_insert" "', argument " "2"" of type '" "std::vector< unsigned int >::iterator""'"); + } else { + swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter2); + if (iter_t) { + arg2 = iter_t->get_current(); + } else { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_insert" "', argument " "2"" of type '" "std::vector< unsigned int >::iterator""'"); + } + } + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "UIntVector_insert" "', argument " "3"" of type '" "std::vector< unsigned int >::value_type""'"); + } + temp3 = static_cast< std::vector< unsigned int >::value_type >(val3); + arg3 = &temp3; + result = std_vector_Sl_unsigned_SS_int_Sg__insert__SWIG_0(arg1,arg2,(unsigned int const &)*arg3); + resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< unsigned int >::iterator & >(result)), + swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::iterator arg2 ; + std::vector< unsigned int >::size_type arg3 ; + std::vector< unsigned int >::value_type *arg4 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + swig::SwigPyIterator *iter2 = 0 ; + int res2 ; + size_t val3 ; + int ecode3 = 0 ; + std::vector< unsigned int >::value_type temp4 ; + unsigned int val4 ; + int ecode4 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:UIntVector_insert",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_insert" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0); + if (!SWIG_IsOK(res2) || !iter2) { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_insert" "', argument " "2"" of type '" "std::vector< unsigned int >::iterator""'"); + } else { + swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter2); + if (iter_t) { + arg2 = iter_t->get_current(); + } else { + SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "UIntVector_insert" "', argument " "2"" of type '" "std::vector< unsigned int >::iterator""'"); + } + } + ecode3 = SWIG_AsVal_size_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "UIntVector_insert" "', argument " "3"" of type '" "std::vector< unsigned int >::size_type""'"); + } + arg3 = static_cast< std::vector< unsigned int >::size_type >(val3); + ecode4 = SWIG_AsVal_unsigned_SS_int(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "UIntVector_insert" "', argument " "4"" of type '" "std::vector< unsigned int >::value_type""'"); + } + temp4 = static_cast< std::vector< unsigned int >::value_type >(val4); + arg4 = &temp4; + std_vector_Sl_unsigned_SS_int_Sg__insert__SWIG_1(arg1,arg2,arg3,(unsigned int const &)*arg4); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_insert(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[5] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 4) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 3) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + swig::SwigPyIterator *iter = 0; + int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0); + _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter) != 0)); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_UIntVector_insert__SWIG_0(self, args); + } + } + } + } + if (argc == 4) { + int _v; + int res = swig::asptr(argv[0], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + swig::SwigPyIterator *iter = 0; + int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0); + _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< unsigned int >::iterator > *>(iter) != 0)); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[3], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_UIntVector_insert__SWIG_1(self, args); + } + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'UIntVector_insert'.\n" + " Possible C/C++ prototypes are:\n" + " std::vector< unsigned int >::insert(std::vector< unsigned int >::iterator,std::vector< unsigned int >::value_type const &)\n" + " std::vector< unsigned int >::insert(std::vector< unsigned int >::iterator,std::vector< unsigned int >::size_type,std::vector< unsigned int >::value_type const &)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_reserve(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + std::vector< unsigned int >::size_type arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:UIntVector_reserve",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_reserve" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "UIntVector_reserve" "', argument " "2"" of type '" "std::vector< unsigned int >::size_type""'"); + } + arg2 = static_cast< std::vector< unsigned int >::size_type >(val2); + (arg1)->reserve(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_UIntVector_capacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< unsigned int >::size_type result; + + if (!PyArg_ParseTuple(args,(char *)"O:UIntVector_capacity",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "UIntVector_capacity" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + result = ((std::vector< unsigned int > const *)arg1)->capacity(); + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_delete_UIntVector(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:delete_UIntVector",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_UIntVector" "', argument " "1"" of type '" "std::vector< unsigned int > *""'"); + } + arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *UIntVector_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *_wrap_SLsetWaiver__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + unsigned int arg3 ; + char *arg4 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + unsigned int val3 ; + int ecode3 = 0 ; + int res4 ; + char *buf4 = 0 ; + int alloc4 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:SLsetWaiver",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLsetWaiver" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLsetWaiver" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SLsetWaiver" "', argument " "3"" of type '" "unsigned int""'"); + } + arg3 = static_cast< unsigned int >(val3); + res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SLsetWaiver" "', argument " "4"" of type '" "char const *""'"); + } + arg4 = reinterpret_cast< char * >(buf4); + SURELOG::SLsetWaiver((char const *)arg1,(char const *)arg2,arg3,(char const *)arg4); + resultobj = SWIG_Py_Void(); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLsetWaiver__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + unsigned int arg3 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + unsigned int val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:SLsetWaiver",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLsetWaiver" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLsetWaiver" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SLsetWaiver" "', argument " "3"" of type '" "unsigned int""'"); + } + arg3 = static_cast< unsigned int >(val3); + SURELOG::SLsetWaiver((char const *)arg1,(char const *)arg2,arg3); + resultobj = SWIG_Py_Void(); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLsetWaiver__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLsetWaiver",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLsetWaiver" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLsetWaiver" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + SURELOG::SLsetWaiver((char const *)arg1,(char const *)arg2); + resultobj = SWIG_Py_Void(); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLsetWaiver__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SLsetWaiver",&obj0)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLsetWaiver" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + SURELOG::SLsetWaiver((char const *)arg1); + resultobj = SWIG_Py_Void(); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLsetWaiver(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[5] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 4) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SLsetWaiver__SWIG_3(self, args); + } + } + if (argc == 2) { + int _v; + int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SLsetWaiver__SWIG_2(self, args); + } + } + } + if (argc == 3) { + int _v; + int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLsetWaiver__SWIG_1(self, args); + } + } + } + } + if (argc == 4) { + int _v; + int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[3], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SLsetWaiver__SWIG_0(self, args); + } + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SLsetWaiver'.\n" + " Possible C/C++ prototypes are:\n" + " SURELOG::SLsetWaiver(char const *,char const *,unsigned int,char const *)\n" + " SURELOG::SLsetWaiver(char const *,char const *,unsigned int)\n" + " SURELOG::SLsetWaiver(char const *,char const *)\n" + " SURELOG::SLsetWaiver(char const *)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SLoverrideSeverity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLoverrideSeverity",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLoverrideSeverity" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLoverrideSeverity" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + SURELOG::SLoverrideSeverity((char const *)arg1,(char const *)arg2); + resultobj = SWIG_Py_Void(); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLregisterNewErrorType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:SLregisterNewErrorType",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLregisterNewErrorType" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLregisterNewErrorType" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SLregisterNewErrorType" "', argument " "3"" of type '" "char const *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + SURELOG::SLregisterNewErrorType((char const *)arg1,(char const *)arg2,(char const *)arg3); + resultobj = SWIG_Py_Void(); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLaddError(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ErrorContainer *arg1 = (SURELOG::ErrorContainer *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + unsigned int arg4 ; + unsigned int arg5 ; + char *arg6 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + unsigned int val4 ; + int ecode4 = 0 ; + unsigned int val5 ; + int ecode5 = 0 ; + int res6 ; + char *buf6 = 0 ; + int alloc6 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOOOO:SLaddError",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ErrorContainer, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLaddError" "', argument " "1"" of type '" "SURELOG::ErrorContainer *""'"); + } + arg1 = reinterpret_cast< SURELOG::ErrorContainer * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLaddError" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SLaddError" "', argument " "3"" of type '" "char const *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + ecode4 = SWIG_AsVal_unsigned_SS_int(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SLaddError" "', argument " "4"" of type '" "unsigned int""'"); + } + arg4 = static_cast< unsigned int >(val4); + ecode5 = SWIG_AsVal_unsigned_SS_int(obj4, &val5); + if (!SWIG_IsOK(ecode5)) { + SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "SLaddError" "', argument " "5"" of type '" "unsigned int""'"); + } + arg5 = static_cast< unsigned int >(val5); + res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6); + if (!SWIG_IsOK(res6)) { + SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "SLaddError" "', argument " "6"" of type '" "char const *""'"); + } + arg6 = reinterpret_cast< char * >(buf6); + SURELOG::SLaddError(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,(char const *)arg6); + resultobj = SWIG_Py_Void(); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLaddErrorContext__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + char *arg3 = (char *) 0 ; + char *arg4 = (char *) 0 ; + bool arg5 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + int res4 ; + char *buf4 = 0 ; + int alloc4 = 0 ; + bool val5 ; + int ecode5 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOOO:SLaddErrorContext",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLaddErrorContext" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLaddErrorContext" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SLaddErrorContext" "', argument " "3"" of type '" "char const *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SLaddErrorContext" "', argument " "4"" of type '" "char const *""'"); + } + arg4 = reinterpret_cast< char * >(buf4); + ecode5 = SWIG_AsVal_bool(obj4, &val5); + if (!SWIG_IsOK(ecode5)) { + SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "SLaddErrorContext" "', argument " "5"" of type '" "bool""'"); + } + arg5 = static_cast< bool >(val5); + SURELOG::SLaddErrorContext(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5); + resultobj = SWIG_Py_Void(); + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + return resultobj; +fail: + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLaddErrorContext__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + char *arg3 = (char *) 0 ; + char *arg4 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + int res4 ; + char *buf4 = 0 ; + int alloc4 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:SLaddErrorContext",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLaddErrorContext" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLaddErrorContext" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SLaddErrorContext" "', argument " "3"" of type '" "char const *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SLaddErrorContext" "', argument " "4"" of type '" "char const *""'"); + } + arg4 = reinterpret_cast< char * >(buf4); + SURELOG::SLaddErrorContext(arg1,arg2,(char const *)arg3,(char const *)arg4); + resultobj = SWIG_Py_Void(); + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + return resultobj; +fail: + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLaddErrorContext(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[6] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 5) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 4) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_ParserRuleContext, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[3], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SLaddErrorContext__SWIG_1(self, args); + } + } + } + } + } + if (argc == 5) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_ParserRuleContext, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[3], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_bool(argv[4], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLaddErrorContext__SWIG_0(self, args); + } + } + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SLaddErrorContext'.\n" + " Possible C/C++ prototypes are:\n" + " SURELOG::SLaddErrorContext(SURELOG::SV3_1aPythonListener *,ParserRuleContext *,char const *,char const *,bool)\n" + " SURELOG::SLaddErrorContext(SURELOG::SV3_1aPythonListener *,ParserRuleContext *,char const *,char const *)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SLaddMLErrorContext__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + ParserRuleContext *arg3 = (ParserRuleContext *) 0 ; + char *arg4 = (char *) 0 ; + char *arg5 = (char *) 0 ; + char *arg6 = (char *) 0 ; + bool arg7 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + void *argp3 = 0 ; + int res3 = 0 ; + int res4 ; + char *buf4 = 0 ; + int alloc4 = 0 ; + int res5 ; + char *buf5 = 0 ; + int alloc5 = 0 ; + int res6 ; + char *buf6 = 0 ; + int alloc6 = 0 ; + bool val7 ; + int ecode7 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + PyObject * obj6 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:SLaddMLErrorContext",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLaddMLErrorContext" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLaddMLErrorContext" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SLaddMLErrorContext" "', argument " "3"" of type '" "ParserRuleContext *""'"); + } + arg3 = reinterpret_cast< ParserRuleContext * >(argp3); + res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SLaddMLErrorContext" "', argument " "4"" of type '" "char const *""'"); + } + arg4 = reinterpret_cast< char * >(buf4); + res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5); + if (!SWIG_IsOK(res5)) { + SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "SLaddMLErrorContext" "', argument " "5"" of type '" "char const *""'"); + } + arg5 = reinterpret_cast< char * >(buf5); + res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6); + if (!SWIG_IsOK(res6)) { + SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "SLaddMLErrorContext" "', argument " "6"" of type '" "char const *""'"); + } + arg6 = reinterpret_cast< char * >(buf6); + ecode7 = SWIG_AsVal_bool(obj6, &val7); + if (!SWIG_IsOK(ecode7)) { + SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "SLaddMLErrorContext" "', argument " "7"" of type '" "bool""'"); + } + arg7 = static_cast< bool >(val7); + SURELOG::SLaddMLErrorContext(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,arg7); + resultobj = SWIG_Py_Void(); + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + if (alloc5 == SWIG_NEWOBJ) delete[] buf5; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + return resultobj; +fail: + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + if (alloc5 == SWIG_NEWOBJ) delete[] buf5; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLaddMLErrorContext__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + ParserRuleContext *arg3 = (ParserRuleContext *) 0 ; + char *arg4 = (char *) 0 ; + char *arg5 = (char *) 0 ; + char *arg6 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + void *argp3 = 0 ; + int res3 = 0 ; + int res4 ; + char *buf4 = 0 ; + int alloc4 = 0 ; + int res5 ; + char *buf5 = 0 ; + int alloc5 = 0 ; + int res6 ; + char *buf6 = 0 ; + int alloc6 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOOOO:SLaddMLErrorContext",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLaddMLErrorContext" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLaddMLErrorContext" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SLaddMLErrorContext" "', argument " "3"" of type '" "ParserRuleContext *""'"); + } + arg3 = reinterpret_cast< ParserRuleContext * >(argp3); + res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4); + if (!SWIG_IsOK(res4)) { + SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SLaddMLErrorContext" "', argument " "4"" of type '" "char const *""'"); + } + arg4 = reinterpret_cast< char * >(buf4); + res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5); + if (!SWIG_IsOK(res5)) { + SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "SLaddMLErrorContext" "', argument " "5"" of type '" "char const *""'"); + } + arg5 = reinterpret_cast< char * >(buf5); + res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6); + if (!SWIG_IsOK(res6)) { + SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "SLaddMLErrorContext" "', argument " "6"" of type '" "char const *""'"); + } + arg6 = reinterpret_cast< char * >(buf6); + SURELOG::SLaddMLErrorContext(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6); + resultobj = SWIG_Py_Void(); + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + if (alloc5 == SWIG_NEWOBJ) delete[] buf5; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + return resultobj; +fail: + if (alloc4 == SWIG_NEWOBJ) delete[] buf4; + if (alloc5 == SWIG_NEWOBJ) delete[] buf5; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLaddMLErrorContext(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[8] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 7) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 6) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_ParserRuleContext, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_ParserRuleContext, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[3], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[4], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[5], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SLaddMLErrorContext__SWIG_1(self, args); + } + } + } + } + } + } + } + if (argc == 7) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_ParserRuleContext, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_ParserRuleContext, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[3], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[4], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[5], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_bool(argv[6], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLaddMLErrorContext__SWIG_0(self, args); + } + } + } + } + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SLaddMLErrorContext'.\n" + " Possible C/C++ prototypes are:\n" + " SURELOG::SLaddMLErrorContext(SURELOG::SV3_1aPythonListener *,ParserRuleContext *,ParserRuleContext *,char const *,char const *,char const *,bool)\n" + " SURELOG::SLaddMLErrorContext(SURELOG::SV3_1aPythonListener *,ParserRuleContext *,ParserRuleContext *,char const *,char const *,char const *)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SLaddMLError(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ErrorContainer *arg1 = (SURELOG::ErrorContainer *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + unsigned int arg4 ; + unsigned int arg5 ; + char *arg6 = (char *) 0 ; + char *arg7 = (char *) 0 ; + unsigned int arg8 ; + unsigned int arg9 ; + char *arg10 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int res3 ; + char *buf3 = 0 ; + int alloc3 = 0 ; + unsigned int val4 ; + int ecode4 = 0 ; + unsigned int val5 ; + int ecode5 = 0 ; + int res6 ; + char *buf6 = 0 ; + int alloc6 = 0 ; + int res7 ; + char *buf7 = 0 ; + int alloc7 = 0 ; + unsigned int val8 ; + int ecode8 = 0 ; + unsigned int val9 ; + int ecode9 = 0 ; + int res10 ; + char *buf10 = 0 ; + int alloc10 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; + PyObject * obj6 = 0 ; + PyObject * obj7 = 0 ; + PyObject * obj8 = 0 ; + PyObject * obj9 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:SLaddMLError",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ErrorContainer, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLaddMLError" "', argument " "1"" of type '" "SURELOG::ErrorContainer *""'"); + } + arg1 = reinterpret_cast< SURELOG::ErrorContainer * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLaddMLError" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SLaddMLError" "', argument " "3"" of type '" "char const *""'"); + } + arg3 = reinterpret_cast< char * >(buf3); + ecode4 = SWIG_AsVal_unsigned_SS_int(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SLaddMLError" "', argument " "4"" of type '" "unsigned int""'"); + } + arg4 = static_cast< unsigned int >(val4); + ecode5 = SWIG_AsVal_unsigned_SS_int(obj4, &val5); + if (!SWIG_IsOK(ecode5)) { + SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "SLaddMLError" "', argument " "5"" of type '" "unsigned int""'"); + } + arg5 = static_cast< unsigned int >(val5); + res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6); + if (!SWIG_IsOK(res6)) { + SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "SLaddMLError" "', argument " "6"" of type '" "char const *""'"); + } + arg6 = reinterpret_cast< char * >(buf6); + res7 = SWIG_AsCharPtrAndSize(obj6, &buf7, NULL, &alloc7); + if (!SWIG_IsOK(res7)) { + SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "SLaddMLError" "', argument " "7"" of type '" "char const *""'"); + } + arg7 = reinterpret_cast< char * >(buf7); + ecode8 = SWIG_AsVal_unsigned_SS_int(obj7, &val8); + if (!SWIG_IsOK(ecode8)) { + SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "SLaddMLError" "', argument " "8"" of type '" "unsigned int""'"); + } + arg8 = static_cast< unsigned int >(val8); + ecode9 = SWIG_AsVal_unsigned_SS_int(obj8, &val9); + if (!SWIG_IsOK(ecode9)) { + SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "SLaddMLError" "', argument " "9"" of type '" "unsigned int""'"); + } + arg9 = static_cast< unsigned int >(val9); + res10 = SWIG_AsCharPtrAndSize(obj9, &buf10, NULL, &alloc10); + if (!SWIG_IsOK(res10)) { + SWIG_exception_fail(SWIG_ArgError(res10), "in method '" "SLaddMLError" "', argument " "10"" of type '" "char const *""'"); + } + arg10 = reinterpret_cast< char * >(buf10); + SURELOG::SLaddMLError(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,(char const *)arg6,(char const *)arg7,arg8,arg9,(char const *)arg10); + resultobj = SWIG_Py_Void(); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + if (alloc7 == SWIG_NEWOBJ) delete[] buf7; + if (alloc10 == SWIG_NEWOBJ) delete[] buf10; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + if (alloc3 == SWIG_NEWOBJ) delete[] buf3; + if (alloc6 == SWIG_NEWOBJ) delete[] buf6; + if (alloc7 == SWIG_NEWOBJ) delete[] buf7; + if (alloc10 == SWIG_NEWOBJ) delete[] buf10; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetFile__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetFile",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetFile" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLgetFile" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + result = SURELOG::SLgetFile(arg1,arg2); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetLine__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + int result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetLine",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetLine" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLgetLine" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + result = (int)SURELOG::SLgetLine(arg1,arg2); + resultobj = SWIG_From_int(static_cast< int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetColumn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + int result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetColumn",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetColumn" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLgetColumn" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + result = (int)SURELOG::SLgetColumn(arg1,arg2); + resultobj = SWIG_From_int(static_cast< int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetText(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetText",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetText" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLgetText" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + result = SURELOG::SLgetText(arg1,arg2); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetTokens(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + SwigValueWrapper< std::vector< std::string,std::allocator< std::string > > > result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetTokens",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetTokens" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLgetTokens" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + result = SURELOG::SLgetTokens(arg1,arg2); + resultobj = SWIG_NewPointerObj((new std::vector< std::string,std::allocator< std::string > >(static_cast< const std::vector< std::string,std::allocator< std::string > >& >(result))), SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetParentContext(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + ParserRuleContext *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetParentContext",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetParentContext" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLgetParentContext" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + result = (ParserRuleContext *)SURELOG::SLgetParentContext(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetChildrenContext(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::SV3_1aPythonListener *arg1 = (SURELOG::SV3_1aPythonListener *) 0 ; + ParserRuleContext *arg2 = (ParserRuleContext *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + SwigValueWrapper< std::vector< ParserRuleContext *,std::allocator< ParserRuleContext * > > > result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetChildrenContext",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetChildrenContext" "', argument " "1"" of type '" "SURELOG::SV3_1aPythonListener *""'"); + } + arg1 = reinterpret_cast< SURELOG::SV3_1aPythonListener * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_ParserRuleContext, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SLgetChildrenContext" "', argument " "2"" of type '" "ParserRuleContext *""'"); + } + arg2 = reinterpret_cast< ParserRuleContext * >(argp2); + result = SURELOG::SLgetChildrenContext(arg1,arg2); + resultobj = SWIG_NewPointerObj((new std::vector< ParserRuleContext *,std::allocator< ParserRuleContext * > >(static_cast< const std::vector< ParserRuleContext *,std::allocator< ParserRuleContext * > >& >(result))), SWIGTYPE_p_std__vectorT_ParserRuleContext_p_std__allocatorT_ParserRuleContext_p_t_t, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetRootNode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetRootNode",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetRootNode" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + result = (NodeId)SURELOG::SLgetRootNode(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetFile__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetFile",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetFile" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetFile" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + result = SURELOG::SLgetFile(arg1,arg2); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetFile(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_ParserRuleContext, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SLgetFile__SWIG_0(self, args); + } + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLgetFile__SWIG_1(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SLgetFile'.\n" + " Possible C/C++ prototypes are:\n" + " SURELOG::SLgetFile(SURELOG::SV3_1aPythonListener *,ParserRuleContext *)\n" + " SURELOG::SLgetFile(SURELOG::FileContent *,NodeId)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SLgetChild__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetChild",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetChild" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetChild" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + result = (NodeId)SURELOG::SLgetChild(arg1,arg2); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetSibling(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetSibling",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetSibling" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetSibling" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + result = (NodeId)SURELOG::SLgetSibling(arg1,arg2); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetParent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetParent",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetParent" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetParent" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + result = (NodeId)SURELOG::SLgetParent(arg1,arg2); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetLine__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetLine",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetLine" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetLine" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + result = (unsigned int)SURELOG::SLgetLine(arg1,arg2); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetLine(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__SV3_1aPythonListener, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_ParserRuleContext, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SLgetLine__SWIG_0(self, args); + } + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLgetLine__SWIG_1(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SLgetLine'.\n" + " Possible C/C++ prototypes are:\n" + " SURELOG::SLgetLine(SURELOG::SV3_1aPythonListener *,ParserRuleContext *)\n" + " SURELOG::SLgetLine(SURELOG::FileContent *,NodeId)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SLgetName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetName",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetName" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetName" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + result = SURELOG::SLgetName(arg1,arg2); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetType",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetType" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetType" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + result = (unsigned int)SURELOG::SLgetType(arg1,arg2); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetChild__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + unsigned int arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + unsigned int val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:SLgetChild",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetChild" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetChild" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SLgetChild" "', argument " "3"" of type '" "unsigned int""'"); + } + arg3 = static_cast< unsigned int >(val3); + result = (NodeId)SURELOG::SLgetChild(arg1,arg2,arg3); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetChild(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 3) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLgetChild__SWIG_0(self, args); + } + } + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLgetChild__SWIG_1(self, args); + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SLgetChild'.\n" + " Possible C/C++ prototypes are:\n" + " SURELOG::SLgetChild(SURELOG::FileContent *,NodeId)\n" + " SURELOG::SLgetChild(SURELOG::FileContent *,NodeId,unsigned int)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SLgetParent__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + unsigned int arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + unsigned int val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:SLgetParent",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetParent" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetParent" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SLgetParent" "', argument " "3"" of type '" "unsigned int""'"); + } + arg3 = static_cast< unsigned int >(val3); + result = (NodeId)SURELOG::SLgetParent(arg1,arg2,arg3); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetParent(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 3) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLgetParent__SWIG_0(self, args); + } + } + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLgetParent__SWIG_1(self, args); + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SLgetParent'.\n" + " Possible C/C++ prototypes are:\n" + " SURELOG::SLgetParent(SURELOG::FileContent *,NodeId)\n" + " SURELOG::SLgetParent(SURELOG::FileContent *,NodeId,unsigned int)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SLgetAll__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + unsigned int arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + unsigned int val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + SURELOG::UIntVector result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:SLgetAll",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetAll" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetAll" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SLgetAll" "', argument " "3"" of type '" "unsigned int""'"); + } + arg3 = static_cast< unsigned int >(val3); + result = SURELOG::SLgetAll(arg1,arg2,arg3); + resultobj = swig::from(static_cast< std::vector< unsigned int,std::allocator< unsigned int > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetAll__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + SURELOG::UIntVector arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + SURELOG::UIntVector result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:SLgetAll",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetAll" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetAll" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + { + std::vector< unsigned int,std::allocator< unsigned int > > *ptr = (std::vector< unsigned int,std::allocator< unsigned int > > *)0; + int res = swig::asptr(obj2, &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "SLgetAll" "', argument " "3"" of type '" "SURELOG::UIntVector""'"); + } + arg3 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = SURELOG::SLgetAll(arg1,arg2,arg3); + resultobj = swig::from(static_cast< std::vector< unsigned int,std::allocator< unsigned int > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetAll(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 3) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLgetAll__SWIG_0(self, args); + } + } + } + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + int res = swig::asptr(argv[2], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_SLgetAll__SWIG_1(self, args); + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SLgetAll'.\n" + " Possible C/C++ prototypes are:\n" + " SURELOG::SLgetAll(SURELOG::FileContent *,NodeId,unsigned int)\n" + " SURELOG::SLgetAll(SURELOG::FileContent *,NodeId,SURELOG::UIntVector)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SLcollect(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + unsigned int arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + unsigned int val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:SLcollect",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLcollect" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLcollect" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SLcollect" "', argument " "3"" of type '" "unsigned int""'"); + } + arg3 = static_cast< unsigned int >(val3); + result = (NodeId)SURELOG::SLcollect(arg1,arg2,arg3); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLcollectAll__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + unsigned int arg3 ; + bool arg4 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + unsigned int val3 ; + int ecode3 = 0 ; + bool val4 ; + int ecode4 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + SURELOG::UIntVector result; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:SLcollectAll",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLcollectAll" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLcollectAll" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SLcollectAll" "', argument " "3"" of type '" "unsigned int""'"); + } + arg3 = static_cast< unsigned int >(val3); + ecode4 = SWIG_AsVal_bool(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SLcollectAll" "', argument " "4"" of type '" "bool""'"); + } + arg4 = static_cast< bool >(val4); + result = SURELOG::SLcollectAll(arg1,arg2,arg3,arg4); + resultobj = swig::from(static_cast< std::vector< unsigned int,std::allocator< unsigned int > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLcollectAll__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + SURELOG::UIntVector arg3 ; + bool arg4 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + bool val4 ; + int ecode4 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + SURELOG::UIntVector result; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:SLcollectAll",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLcollectAll" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLcollectAll" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + { + std::vector< unsigned int,std::allocator< unsigned int > > *ptr = (std::vector< unsigned int,std::allocator< unsigned int > > *)0; + int res = swig::asptr(obj2, &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "SLcollectAll" "', argument " "3"" of type '" "SURELOG::UIntVector""'"); + } + arg3 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + ecode4 = SWIG_AsVal_bool(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SLcollectAll" "', argument " "4"" of type '" "bool""'"); + } + arg4 = static_cast< bool >(val4); + result = SURELOG::SLcollectAll(arg1,arg2,arg3,arg4); + resultobj = swig::from(static_cast< std::vector< unsigned int,std::allocator< unsigned int > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLcollectAll__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::FileContent *arg1 = (SURELOG::FileContent *) 0 ; + NodeId arg2 ; + SURELOG::UIntVector arg3 ; + SURELOG::UIntVector arg4 ; + bool arg5 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + bool val5 ; + int ecode5 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + PyObject * obj4 = 0 ; + SURELOG::UIntVector result; + + if (!PyArg_ParseTuple(args,(char *)"OOOOO:SLcollectAll",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLcollectAll" "', argument " "1"" of type '" "SURELOG::FileContent *""'"); + } + arg1 = reinterpret_cast< SURELOG::FileContent * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLcollectAll" "', argument " "2"" of type '" "NodeId""'"); + } + arg2 = static_cast< NodeId >(val2); + { + std::vector< unsigned int,std::allocator< unsigned int > > *ptr = (std::vector< unsigned int,std::allocator< unsigned int > > *)0; + int res = swig::asptr(obj2, &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "SLcollectAll" "', argument " "3"" of type '" "SURELOG::UIntVector""'"); + } + arg3 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + { + std::vector< unsigned int,std::allocator< unsigned int > > *ptr = (std::vector< unsigned int,std::allocator< unsigned int > > *)0; + int res = swig::asptr(obj3, &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "SLcollectAll" "', argument " "4"" of type '" "SURELOG::UIntVector""'"); + } + arg4 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + ecode5 = SWIG_AsVal_bool(obj4, &val5); + if (!SWIG_IsOK(ecode5)) { + SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "SLcollectAll" "', argument " "5"" of type '" "bool""'"); + } + arg5 = static_cast< bool >(val5); + result = SURELOG::SLcollectAll(arg1,arg2,arg3,arg4,arg5); + resultobj = swig::from(static_cast< std::vector< unsigned int,std::allocator< unsigned int > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLcollectAll(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[6] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 5) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 4) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_bool(argv[3], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLcollectAll__SWIG_0(self, args); + } + } + } + } + } + if (argc == 4) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + int res = swig::asptr(argv[2], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_bool(argv[3], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLcollectAll__SWIG_1(self, args); + } + } + } + } + } + if (argc == 5) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SURELOG__FileContent, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + int res = swig::asptr(argv[2], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + int res = swig::asptr(argv[3], (std::vector< unsigned int,std::allocator< unsigned int > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_bool(argv[4], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_SLcollectAll__SWIG_2(self, args); + } + } + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'SLcollectAll'.\n" + " Possible C/C++ prototypes are:\n" + " SURELOG::SLcollectAll(SURELOG::FileContent *,NodeId,unsigned int,bool)\n" + " SURELOG::SLcollectAll(SURELOG::FileContent *,NodeId,SURELOG::UIntVector,bool)\n" + " SURELOG::SLcollectAll(SURELOG::FileContent *,NodeId,SURELOG::UIntVector,SURELOG::UIntVector,bool)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_SLgetnModuleDefinition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetnModuleDefinition",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetnModuleDefinition" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + result = (unsigned int)SURELOG::SLgetnModuleDefinition(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetnProgramDefinition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetnProgramDefinition",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetnProgramDefinition" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + result = (unsigned int)SURELOG::SLgetnProgramDefinition(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetnPackageDefinition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetnPackageDefinition",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetnPackageDefinition" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + result = (unsigned int)SURELOG::SLgetnPackageDefinition(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetnClassDefinition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetnClassDefinition",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetnClassDefinition" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + result = (unsigned int)SURELOG::SLgetnClassDefinition(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetnTopModuleInstance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetnTopModuleInstance",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetnTopModuleInstance" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + result = (unsigned int)SURELOG::SLgetnTopModuleInstance(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetModuleDefinition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + SURELOG::ModuleDefinition *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetModuleDefinition",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetModuleDefinition" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetModuleDefinition" "', argument " "2"" of type '" "unsigned int""'"); + } + arg2 = static_cast< unsigned int >(val2); + result = (SURELOG::ModuleDefinition *)SURELOG::SLgetModuleDefinition(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__ModuleDefinition, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetProgramDefinition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + SURELOG::Program *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetProgramDefinition",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetProgramDefinition" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetProgramDefinition" "', argument " "2"" of type '" "unsigned int""'"); + } + arg2 = static_cast< unsigned int >(val2); + result = (SURELOG::Program *)SURELOG::SLgetProgramDefinition(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__Program, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetPackageDefinition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + SURELOG::Package *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetPackageDefinition",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetPackageDefinition" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetPackageDefinition" "', argument " "2"" of type '" "unsigned int""'"); + } + arg2 = static_cast< unsigned int >(val2); + result = (SURELOG::Package *)SURELOG::SLgetPackageDefinition(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__Package, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetClassDefinition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + SURELOG::ClassDefinition *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetClassDefinition",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetClassDefinition" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetClassDefinition" "', argument " "2"" of type '" "unsigned int""'"); + } + arg2 = static_cast< unsigned int >(val2); + result = (SURELOG::ClassDefinition *)SURELOG::SLgetClassDefinition(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__ClassDefinition, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetTopModuleInstance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Design *arg1 = (SURELOG::Design *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + SURELOG::ModuleInstance *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetTopModuleInstance",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Design, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetTopModuleInstance" "', argument " "1"" of type '" "SURELOG::Design *""'"); + } + arg1 = reinterpret_cast< SURELOG::Design * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetTopModuleInstance" "', argument " "2"" of type '" "unsigned int""'"); + } + arg2 = static_cast< unsigned int >(val2); + result = (SURELOG::ModuleInstance *)SURELOG::SLgetTopModuleInstance(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetModuleName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleDefinition *arg1 = (SURELOG::ModuleDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetModuleName",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetModuleName" "', argument " "1"" of type '" "SURELOG::ModuleDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleDefinition * >(argp1); + result = SURELOG::SLgetModuleName(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetModuleFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleDefinition *arg1 = (SURELOG::ModuleDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetModuleFile",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetModuleFile" "', argument " "1"" of type '" "SURELOG::ModuleDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleDefinition * >(argp1); + result = SURELOG::SLgetModuleFile(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetModuleType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleDefinition *arg1 = (SURELOG::ModuleDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + VObjectType result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetModuleType",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetModuleType" "', argument " "1"" of type '" "SURELOG::ModuleDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleDefinition * >(argp1); + result = SURELOG::SLgetModuleType(arg1); + resultobj = SWIG_NewPointerObj((new VObjectType(static_cast< const VObjectType& >(result))), SWIGTYPE_p_VObjectType, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetModuleLine(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleDefinition *arg1 = (SURELOG::ModuleDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetModuleLine",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetModuleLine" "', argument " "1"" of type '" "SURELOG::ModuleDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleDefinition * >(argp1); + result = (unsigned int)SURELOG::SLgetModuleLine(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetModuleFileContent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleDefinition *arg1 = (SURELOG::ModuleDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SURELOG::FileContent *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetModuleFileContent",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetModuleFileContent" "', argument " "1"" of type '" "SURELOG::ModuleDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleDefinition * >(argp1); + result = (SURELOG::FileContent *)SURELOG::SLgetModuleFileContent(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetModuleRootNode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleDefinition *arg1 = (SURELOG::ModuleDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetModuleRootNode",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetModuleRootNode" "', argument " "1"" of type '" "SURELOG::ModuleDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleDefinition * >(argp1); + result = (NodeId)SURELOG::SLgetModuleRootNode(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetClassName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ClassDefinition *arg1 = (SURELOG::ClassDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetClassName",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ClassDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetClassName" "', argument " "1"" of type '" "SURELOG::ClassDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ClassDefinition * >(argp1); + result = SURELOG::SLgetClassName(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetClassFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ClassDefinition *arg1 = (SURELOG::ClassDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetClassFile",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ClassDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetClassFile" "', argument " "1"" of type '" "SURELOG::ClassDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ClassDefinition * >(argp1); + result = SURELOG::SLgetClassFile(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetClassType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ClassDefinition *arg1 = (SURELOG::ClassDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + VObjectType result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetClassType",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ClassDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetClassType" "', argument " "1"" of type '" "SURELOG::ClassDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ClassDefinition * >(argp1); + result = SURELOG::SLgetClassType(arg1); + resultobj = SWIG_NewPointerObj((new VObjectType(static_cast< const VObjectType& >(result))), SWIGTYPE_p_VObjectType, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetClassLine(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ClassDefinition *arg1 = (SURELOG::ClassDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetClassLine",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ClassDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetClassLine" "', argument " "1"" of type '" "SURELOG::ClassDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ClassDefinition * >(argp1); + result = (unsigned int)SURELOG::SLgetClassLine(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetClassFileContent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ClassDefinition *arg1 = (SURELOG::ClassDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SURELOG::FileContent *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetClassFileContent",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ClassDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetClassFileContent" "', argument " "1"" of type '" "SURELOG::ClassDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ClassDefinition * >(argp1); + result = (SURELOG::FileContent *)SURELOG::SLgetClassFileContent(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetClassRootNode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ClassDefinition *arg1 = (SURELOG::ClassDefinition *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetClassRootNode",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ClassDefinition, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetClassRootNode" "', argument " "1"" of type '" "SURELOG::ClassDefinition *""'"); + } + arg1 = reinterpret_cast< SURELOG::ClassDefinition * >(argp1); + result = (NodeId)SURELOG::SLgetClassRootNode(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetPackageName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Package *arg1 = (SURELOG::Package *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetPackageName",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Package, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetPackageName" "', argument " "1"" of type '" "SURELOG::Package *""'"); + } + arg1 = reinterpret_cast< SURELOG::Package * >(argp1); + result = SURELOG::SLgetPackageName(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetPackageFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Package *arg1 = (SURELOG::Package *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetPackageFile",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Package, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetPackageFile" "', argument " "1"" of type '" "SURELOG::Package *""'"); + } + arg1 = reinterpret_cast< SURELOG::Package * >(argp1); + result = SURELOG::SLgetPackageFile(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetPackageType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Package *arg1 = (SURELOG::Package *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + VObjectType result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetPackageType",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Package, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetPackageType" "', argument " "1"" of type '" "SURELOG::Package *""'"); + } + arg1 = reinterpret_cast< SURELOG::Package * >(argp1); + result = SURELOG::SLgetPackageType(arg1); + resultobj = SWIG_NewPointerObj((new VObjectType(static_cast< const VObjectType& >(result))), SWIGTYPE_p_VObjectType, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetPackageLine(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Package *arg1 = (SURELOG::Package *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetPackageLine",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Package, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetPackageLine" "', argument " "1"" of type '" "SURELOG::Package *""'"); + } + arg1 = reinterpret_cast< SURELOG::Package * >(argp1); + result = (unsigned int)SURELOG::SLgetPackageLine(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetPackageFileContent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Package *arg1 = (SURELOG::Package *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SURELOG::FileContent *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetPackageFileContent",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Package, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetPackageFileContent" "', argument " "1"" of type '" "SURELOG::Package *""'"); + } + arg1 = reinterpret_cast< SURELOG::Package * >(argp1); + result = (SURELOG::FileContent *)SURELOG::SLgetPackageFileContent(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetPackageRootNode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Package *arg1 = (SURELOG::Package *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetPackageRootNode",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Package, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetPackageRootNode" "', argument " "1"" of type '" "SURELOG::Package *""'"); + } + arg1 = reinterpret_cast< SURELOG::Package * >(argp1); + result = (NodeId)SURELOG::SLgetPackageRootNode(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetProgramName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Program *arg1 = (SURELOG::Program *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetProgramName",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Program, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetProgramName" "', argument " "1"" of type '" "SURELOG::Program *""'"); + } + arg1 = reinterpret_cast< SURELOG::Program * >(argp1); + result = SURELOG::SLgetProgramName(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetProgramFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Program *arg1 = (SURELOG::Program *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetProgramFile",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Program, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetProgramFile" "', argument " "1"" of type '" "SURELOG::Program *""'"); + } + arg1 = reinterpret_cast< SURELOG::Program * >(argp1); + result = SURELOG::SLgetProgramFile(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetProgramType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Program *arg1 = (SURELOG::Program *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + VObjectType result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetProgramType",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Program, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetProgramType" "', argument " "1"" of type '" "SURELOG::Program *""'"); + } + arg1 = reinterpret_cast< SURELOG::Program * >(argp1); + result = SURELOG::SLgetProgramType(arg1); + resultobj = SWIG_NewPointerObj((new VObjectType(static_cast< const VObjectType& >(result))), SWIGTYPE_p_VObjectType, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetProgramLine(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Program *arg1 = (SURELOG::Program *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetProgramLine",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Program, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetProgramLine" "', argument " "1"" of type '" "SURELOG::Program *""'"); + } + arg1 = reinterpret_cast< SURELOG::Program * >(argp1); + result = (unsigned int)SURELOG::SLgetProgramLine(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetProgramFileContent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Program *arg1 = (SURELOG::Program *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SURELOG::FileContent *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetProgramFileContent",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Program, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetProgramFileContent" "', argument " "1"" of type '" "SURELOG::Program *""'"); + } + arg1 = reinterpret_cast< SURELOG::Program * >(argp1); + result = (SURELOG::FileContent *)SURELOG::SLgetProgramFileContent(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetProgramRootNode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::Program *arg1 = (SURELOG::Program *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetProgramRootNode",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__Program, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetProgramRootNode" "', argument " "1"" of type '" "SURELOG::Program *""'"); + } + arg1 = reinterpret_cast< SURELOG::Program * >(argp1); + result = (NodeId)SURELOG::SLgetProgramRootNode(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + VObjectType result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceType",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceType" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = SURELOG::SLgetInstanceType(arg1); + resultobj = SWIG_NewPointerObj((new VObjectType(static_cast< const VObjectType& >(result))), SWIGTYPE_p_VObjectType, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceModuleType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + VObjectType result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceModuleType",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceModuleType" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = SURELOG::SLgetInstanceModuleType(arg1); + resultobj = SWIG_NewPointerObj((new VObjectType(static_cast< const VObjectType& >(result))), SWIGTYPE_p_VObjectType, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceName",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceName" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = SURELOG::SLgetInstanceName(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceFullPathName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceFullPathName",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceFullPathName" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = SURELOG::SLgetInstanceFullPathName(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceModuleName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceModuleName",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceModuleName" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = SURELOG::SLgetInstanceModuleName(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceDefinition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SURELOG::DesignComponent *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceDefinition",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceDefinition" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = (SURELOG::DesignComponent *)SURELOG::SLgetInstanceDefinition(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__DesignComponent, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceFileName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceFileName",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceFileName" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = SURELOG::SLgetInstanceFileName(arg1); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceFileContent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SURELOG::FileContent *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceFileContent",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceFileContent" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = (SURELOG::FileContent *)SURELOG::SLgetInstanceFileContent(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__FileContent, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceNodeId(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + NodeId result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceNodeId",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceNodeId" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = (NodeId)SURELOG::SLgetInstanceNodeId(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceLine(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceLine",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceLine" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = (unsigned int)SURELOG::SLgetInstanceLine(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetnInstanceChildren(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetnInstanceChildren",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetnInstanceChildren" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = (unsigned int)SURELOG::SLgetnInstanceChildren(arg1); + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceChildren(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + SURELOG::ModuleInstance *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:SLgetInstanceChildren",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceChildren" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SLgetInstanceChildren" "', argument " "2"" of type '" "unsigned int""'"); + } + arg2 = static_cast< unsigned int >(val2); + result = (SURELOG::ModuleInstance *)SURELOG::SLgetInstanceChildren(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_SLgetInstanceParent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + SURELOG::ModuleInstance *arg1 = (SURELOG::ModuleInstance *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SURELOG::ModuleInstance *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:SLgetInstanceParent",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SLgetInstanceParent" "', argument " "1"" of type '" "SURELOG::ModuleInstance *""'"); + } + arg1 = reinterpret_cast< SURELOG::ModuleInstance * >(argp1); + result = (SURELOG::ModuleInstance *)SURELOG::SLgetInstanceParent(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SURELOG__ModuleInstance, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +static PyMethodDef SwigMethods[] = { + { (char *)"SWIG_PyInstanceMethod_New", (PyCFunction)SWIG_PyInstanceMethod_New, METH_O, NULL}, + { (char *)"delete_SwigPyIterator", _wrap_delete_SwigPyIterator, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_value", _wrap_SwigPyIterator_value, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_incr", _wrap_SwigPyIterator_incr, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_decr", _wrap_SwigPyIterator_decr, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_distance", _wrap_SwigPyIterator_distance, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_equal", _wrap_SwigPyIterator_equal, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_copy", _wrap_SwigPyIterator_copy, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_next", _wrap_SwigPyIterator_next, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator___next__", _wrap_SwigPyIterator___next__, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_previous", _wrap_SwigPyIterator_previous, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_advance", _wrap_SwigPyIterator_advance, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator___eq__", _wrap_SwigPyIterator___eq__, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator___ne__", _wrap_SwigPyIterator___ne__, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator___iadd__", _wrap_SwigPyIterator___iadd__, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator___isub__", _wrap_SwigPyIterator___isub__, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator___add__", _wrap_SwigPyIterator___add__, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator___sub__", _wrap_SwigPyIterator___sub__, METH_VARARGS, NULL}, + { (char *)"SwigPyIterator_swigregister", SwigPyIterator_swigregister, METH_VARARGS, NULL}, + { (char *)"UIntVector_iterator", _wrap_UIntVector_iterator, METH_VARARGS, NULL}, + { (char *)"UIntVector___nonzero__", _wrap_UIntVector___nonzero__, METH_VARARGS, NULL}, + { (char *)"UIntVector___bool__", _wrap_UIntVector___bool__, METH_VARARGS, NULL}, + { (char *)"UIntVector___len__", _wrap_UIntVector___len__, METH_VARARGS, NULL}, + { (char *)"UIntVector___getslice__", _wrap_UIntVector___getslice__, METH_VARARGS, NULL}, + { (char *)"UIntVector___setslice__", _wrap_UIntVector___setslice__, METH_VARARGS, NULL}, + { (char *)"UIntVector___delslice__", _wrap_UIntVector___delslice__, METH_VARARGS, NULL}, + { (char *)"UIntVector___delitem__", _wrap_UIntVector___delitem__, METH_VARARGS, NULL}, + { (char *)"UIntVector___getitem__", _wrap_UIntVector___getitem__, METH_VARARGS, NULL}, + { (char *)"UIntVector___setitem__", _wrap_UIntVector___setitem__, METH_VARARGS, NULL}, + { (char *)"UIntVector_pop", _wrap_UIntVector_pop, METH_VARARGS, NULL}, + { (char *)"UIntVector_append", _wrap_UIntVector_append, METH_VARARGS, NULL}, + { (char *)"UIntVector_empty", _wrap_UIntVector_empty, METH_VARARGS, NULL}, + { (char *)"UIntVector_size", _wrap_UIntVector_size, METH_VARARGS, NULL}, + { (char *)"UIntVector_swap", _wrap_UIntVector_swap, METH_VARARGS, NULL}, + { (char *)"UIntVector_begin", _wrap_UIntVector_begin, METH_VARARGS, NULL}, + { (char *)"UIntVector_end", _wrap_UIntVector_end, METH_VARARGS, NULL}, + { (char *)"UIntVector_rbegin", _wrap_UIntVector_rbegin, METH_VARARGS, NULL}, + { (char *)"UIntVector_rend", _wrap_UIntVector_rend, METH_VARARGS, NULL}, + { (char *)"UIntVector_clear", _wrap_UIntVector_clear, METH_VARARGS, NULL}, + { (char *)"UIntVector_get_allocator", _wrap_UIntVector_get_allocator, METH_VARARGS, NULL}, + { (char *)"UIntVector_pop_back", _wrap_UIntVector_pop_back, METH_VARARGS, NULL}, + { (char *)"UIntVector_erase", _wrap_UIntVector_erase, METH_VARARGS, NULL}, + { (char *)"new_UIntVector", _wrap_new_UIntVector, METH_VARARGS, NULL}, + { (char *)"UIntVector_push_back", _wrap_UIntVector_push_back, METH_VARARGS, NULL}, + { (char *)"UIntVector_front", _wrap_UIntVector_front, METH_VARARGS, NULL}, + { (char *)"UIntVector_back", _wrap_UIntVector_back, METH_VARARGS, NULL}, + { (char *)"UIntVector_assign", _wrap_UIntVector_assign, METH_VARARGS, NULL}, + { (char *)"UIntVector_resize", _wrap_UIntVector_resize, METH_VARARGS, NULL}, + { (char *)"UIntVector_insert", _wrap_UIntVector_insert, METH_VARARGS, NULL}, + { (char *)"UIntVector_reserve", _wrap_UIntVector_reserve, METH_VARARGS, NULL}, + { (char *)"UIntVector_capacity", _wrap_UIntVector_capacity, METH_VARARGS, NULL}, + { (char *)"delete_UIntVector", _wrap_delete_UIntVector, METH_VARARGS, NULL}, + { (char *)"UIntVector_swigregister", UIntVector_swigregister, METH_VARARGS, NULL}, + { (char *)"SLsetWaiver", _wrap_SLsetWaiver, METH_VARARGS, NULL}, + { (char *)"SLoverrideSeverity", _wrap_SLoverrideSeverity, METH_VARARGS, NULL}, + { (char *)"SLregisterNewErrorType", _wrap_SLregisterNewErrorType, METH_VARARGS, NULL}, + { (char *)"SLaddError", _wrap_SLaddError, METH_VARARGS, NULL}, + { (char *)"SLaddErrorContext", _wrap_SLaddErrorContext, METH_VARARGS, NULL}, + { (char *)"SLaddMLErrorContext", _wrap_SLaddMLErrorContext, METH_VARARGS, NULL}, + { (char *)"SLaddMLError", _wrap_SLaddMLError, METH_VARARGS, NULL}, + { (char *)"SLgetColumn", _wrap_SLgetColumn, METH_VARARGS, NULL}, + { (char *)"SLgetText", _wrap_SLgetText, METH_VARARGS, NULL}, + { (char *)"SLgetTokens", _wrap_SLgetTokens, METH_VARARGS, NULL}, + { (char *)"SLgetParentContext", _wrap_SLgetParentContext, METH_VARARGS, NULL}, + { (char *)"SLgetChildrenContext", _wrap_SLgetChildrenContext, METH_VARARGS, NULL}, + { (char *)"SLgetRootNode", _wrap_SLgetRootNode, METH_VARARGS, NULL}, + { (char *)"SLgetFile", _wrap_SLgetFile, METH_VARARGS, NULL}, + { (char *)"SLgetSibling", _wrap_SLgetSibling, METH_VARARGS, NULL}, + { (char *)"SLgetLine", _wrap_SLgetLine, METH_VARARGS, NULL}, + { (char *)"SLgetName", _wrap_SLgetName, METH_VARARGS, NULL}, + { (char *)"SLgetType", _wrap_SLgetType, METH_VARARGS, NULL}, + { (char *)"SLgetChild", _wrap_SLgetChild, METH_VARARGS, NULL}, + { (char *)"SLgetParent", _wrap_SLgetParent, METH_VARARGS, NULL}, + { (char *)"SLgetAll", _wrap_SLgetAll, METH_VARARGS, NULL}, + { (char *)"SLcollect", _wrap_SLcollect, METH_VARARGS, NULL}, + { (char *)"SLcollectAll", _wrap_SLcollectAll, METH_VARARGS, NULL}, + { (char *)"SLgetnModuleDefinition", _wrap_SLgetnModuleDefinition, METH_VARARGS, NULL}, + { (char *)"SLgetnProgramDefinition", _wrap_SLgetnProgramDefinition, METH_VARARGS, NULL}, + { (char *)"SLgetnPackageDefinition", _wrap_SLgetnPackageDefinition, METH_VARARGS, NULL}, + { (char *)"SLgetnClassDefinition", _wrap_SLgetnClassDefinition, METH_VARARGS, NULL}, + { (char *)"SLgetnTopModuleInstance", _wrap_SLgetnTopModuleInstance, METH_VARARGS, NULL}, + { (char *)"SLgetModuleDefinition", _wrap_SLgetModuleDefinition, METH_VARARGS, NULL}, + { (char *)"SLgetProgramDefinition", _wrap_SLgetProgramDefinition, METH_VARARGS, NULL}, + { (char *)"SLgetPackageDefinition", _wrap_SLgetPackageDefinition, METH_VARARGS, NULL}, + { (char *)"SLgetClassDefinition", _wrap_SLgetClassDefinition, METH_VARARGS, NULL}, + { (char *)"SLgetTopModuleInstance", _wrap_SLgetTopModuleInstance, METH_VARARGS, NULL}, + { (char *)"SLgetModuleName", _wrap_SLgetModuleName, METH_VARARGS, NULL}, + { (char *)"SLgetModuleFile", _wrap_SLgetModuleFile, METH_VARARGS, NULL}, + { (char *)"SLgetModuleType", _wrap_SLgetModuleType, METH_VARARGS, NULL}, + { (char *)"SLgetModuleLine", _wrap_SLgetModuleLine, METH_VARARGS, NULL}, + { (char *)"SLgetModuleFileContent", _wrap_SLgetModuleFileContent, METH_VARARGS, NULL}, + { (char *)"SLgetModuleRootNode", _wrap_SLgetModuleRootNode, METH_VARARGS, NULL}, + { (char *)"SLgetClassName", _wrap_SLgetClassName, METH_VARARGS, NULL}, + { (char *)"SLgetClassFile", _wrap_SLgetClassFile, METH_VARARGS, NULL}, + { (char *)"SLgetClassType", _wrap_SLgetClassType, METH_VARARGS, NULL}, + { (char *)"SLgetClassLine", _wrap_SLgetClassLine, METH_VARARGS, NULL}, + { (char *)"SLgetClassFileContent", _wrap_SLgetClassFileContent, METH_VARARGS, NULL}, + { (char *)"SLgetClassRootNode", _wrap_SLgetClassRootNode, METH_VARARGS, NULL}, + { (char *)"SLgetPackageName", _wrap_SLgetPackageName, METH_VARARGS, NULL}, + { (char *)"SLgetPackageFile", _wrap_SLgetPackageFile, METH_VARARGS, NULL}, + { (char *)"SLgetPackageType", _wrap_SLgetPackageType, METH_VARARGS, NULL}, + { (char *)"SLgetPackageLine", _wrap_SLgetPackageLine, METH_VARARGS, NULL}, + { (char *)"SLgetPackageFileContent", _wrap_SLgetPackageFileContent, METH_VARARGS, NULL}, + { (char *)"SLgetPackageRootNode", _wrap_SLgetPackageRootNode, METH_VARARGS, NULL}, + { (char *)"SLgetProgramName", _wrap_SLgetProgramName, METH_VARARGS, NULL}, + { (char *)"SLgetProgramFile", _wrap_SLgetProgramFile, METH_VARARGS, NULL}, + { (char *)"SLgetProgramType", _wrap_SLgetProgramType, METH_VARARGS, NULL}, + { (char *)"SLgetProgramLine", _wrap_SLgetProgramLine, METH_VARARGS, NULL}, + { (char *)"SLgetProgramFileContent", _wrap_SLgetProgramFileContent, METH_VARARGS, NULL}, + { (char *)"SLgetProgramRootNode", _wrap_SLgetProgramRootNode, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceType", _wrap_SLgetInstanceType, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceModuleType", _wrap_SLgetInstanceModuleType, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceName", _wrap_SLgetInstanceName, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceFullPathName", _wrap_SLgetInstanceFullPathName, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceModuleName", _wrap_SLgetInstanceModuleName, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceDefinition", _wrap_SLgetInstanceDefinition, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceFileName", _wrap_SLgetInstanceFileName, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceFileContent", _wrap_SLgetInstanceFileContent, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceNodeId", _wrap_SLgetInstanceNodeId, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceLine", _wrap_SLgetInstanceLine, METH_VARARGS, NULL}, + { (char *)"SLgetnInstanceChildren", _wrap_SLgetnInstanceChildren, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceChildren", _wrap_SLgetInstanceChildren, METH_VARARGS, NULL}, + { (char *)"SLgetInstanceParent", _wrap_SLgetInstanceParent, METH_VARARGS, NULL}, + { NULL, NULL, 0, NULL } +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ + +static swig_type_info _swigt__p_ParserRuleContext = {"_p_ParserRuleContext", "ParserRuleContext *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__ClassDefinition = {"_p_SURELOG__ClassDefinition", "SURELOG::ClassDefinition *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__Design = {"_p_SURELOG__Design", "SURELOG::Design *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__DesignComponent = {"_p_SURELOG__DesignComponent", "SURELOG::DesignComponent *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__ErrorContainer = {"_p_SURELOG__ErrorContainer", "SURELOG::ErrorContainer *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__FileContent = {"_p_SURELOG__FileContent", "SURELOG::FileContent *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__ModuleDefinition = {"_p_SURELOG__ModuleDefinition", "SURELOG::ModuleDefinition *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__ModuleInstance = {"_p_SURELOG__ModuleInstance", "SURELOG::ModuleInstance *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__Package = {"_p_SURELOG__Package", "SURELOG::Package *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__Program = {"_p_SURELOG__Program", "SURELOG::Program *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SURELOG__SV3_1aPythonListener = {"_p_SURELOG__SV3_1aPythonListener", "SURELOG::SV3_1aPythonListener *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_VObjectType = {"_p_VObjectType", "VObjectType *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_allocator_type = {"_p_allocator_type", "allocator_type *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_difference_type = {"_p_difference_type", "difference_type *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_p_PyObject = {"_p_p_PyObject", "PyObject **", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_size_type = {"_p_size_type", "size_type *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_std__allocatorT_unsigned_int_t = {"_p_std__allocatorT_unsigned_int_t", "std::vector< unsigned int >::allocator_type *|std::allocator< unsigned int > *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_std__invalid_argument = {"_p_std__invalid_argument", "std::invalid_argument *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_std__vectorT_ParserRuleContext_p_std__allocatorT_ParserRuleContext_p_t_t = {"_p_std__vectorT_ParserRuleContext_p_std__allocatorT_ParserRuleContext_p_t_t", "std::vector< ParserRuleContext *,std::allocator< ParserRuleContext * > > *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t = {"_p_std__vectorT_std__string_std__allocatorT_std__string_t_t", "std::vector< std::string,std::allocator< std::string > > *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t = {"_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t", "std::vector< unsigned int,std::allocator< unsigned int > > *|SURELOG::UIntVector *|std::vector< unsigned int > *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_swig__SwigPyIterator = {"_p_swig__SwigPyIterator", "swig::SwigPyIterator *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "NodeId *|unsigned int *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0, 0, (void*)0, 0}; + +static swig_type_info *swig_type_initial[] = { + &_swigt__p_ParserRuleContext, + &_swigt__p_SURELOG__ClassDefinition, + &_swigt__p_SURELOG__Design, + &_swigt__p_SURELOG__DesignComponent, + &_swigt__p_SURELOG__ErrorContainer, + &_swigt__p_SURELOG__FileContent, + &_swigt__p_SURELOG__ModuleDefinition, + &_swigt__p_SURELOG__ModuleInstance, + &_swigt__p_SURELOG__Package, + &_swigt__p_SURELOG__Program, + &_swigt__p_SURELOG__SV3_1aPythonListener, + &_swigt__p_VObjectType, + &_swigt__p_allocator_type, + &_swigt__p_char, + &_swigt__p_difference_type, + &_swigt__p_p_PyObject, + &_swigt__p_size_type, + &_swigt__p_std__allocatorT_unsigned_int_t, + &_swigt__p_std__invalid_argument, + &_swigt__p_std__vectorT_ParserRuleContext_p_std__allocatorT_ParserRuleContext_p_t_t, + &_swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t, + &_swigt__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, + &_swigt__p_swig__SwigPyIterator, + &_swigt__p_unsigned_int, + &_swigt__p_value_type, +}; + +static swig_cast_info _swigc__p_ParserRuleContext[] = { {&_swigt__p_ParserRuleContext, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__ClassDefinition[] = { {&_swigt__p_SURELOG__ClassDefinition, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__Design[] = { {&_swigt__p_SURELOG__Design, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__DesignComponent[] = { {&_swigt__p_SURELOG__DesignComponent, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__ErrorContainer[] = { {&_swigt__p_SURELOG__ErrorContainer, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__FileContent[] = { {&_swigt__p_SURELOG__FileContent, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__ModuleDefinition[] = { {&_swigt__p_SURELOG__ModuleDefinition, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__ModuleInstance[] = { {&_swigt__p_SURELOG__ModuleInstance, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__Package[] = { {&_swigt__p_SURELOG__Package, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__Program[] = { {&_swigt__p_SURELOG__Program, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SURELOG__SV3_1aPythonListener[] = { {&_swigt__p_SURELOG__SV3_1aPythonListener, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_VObjectType[] = { {&_swigt__p_VObjectType, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_allocator_type[] = { {&_swigt__p_allocator_type, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_difference_type[] = { {&_swigt__p_difference_type, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_p_PyObject[] = { {&_swigt__p_p_PyObject, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_size_type[] = { {&_swigt__p_size_type, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_std__allocatorT_unsigned_int_t[] = { {&_swigt__p_std__allocatorT_unsigned_int_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_std__invalid_argument[] = { {&_swigt__p_std__invalid_argument, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_std__vectorT_ParserRuleContext_p_std__allocatorT_ParserRuleContext_p_t_t[] = { {&_swigt__p_std__vectorT_ParserRuleContext_p_std__allocatorT_ParserRuleContext_p_t_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_std__vectorT_std__string_std__allocatorT_std__string_t_t[] = { {&_swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t[] = { {&_swigt__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_swig__SwigPyIterator[] = { {&_swigt__p_swig__SwigPyIterator, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_value_type[] = { {&_swigt__p_value_type, 0, 0, 0},{0, 0, 0, 0}}; + +static swig_cast_info *swig_cast_initial[] = { + _swigc__p_ParserRuleContext, + _swigc__p_SURELOG__ClassDefinition, + _swigc__p_SURELOG__Design, + _swigc__p_SURELOG__DesignComponent, + _swigc__p_SURELOG__ErrorContainer, + _swigc__p_SURELOG__FileContent, + _swigc__p_SURELOG__ModuleDefinition, + _swigc__p_SURELOG__ModuleInstance, + _swigc__p_SURELOG__Package, + _swigc__p_SURELOG__Program, + _swigc__p_SURELOG__SV3_1aPythonListener, + _swigc__p_VObjectType, + _swigc__p_allocator_type, + _swigc__p_char, + _swigc__p_difference_type, + _swigc__p_p_PyObject, + _swigc__p_size_type, + _swigc__p_std__allocatorT_unsigned_int_t, + _swigc__p_std__invalid_argument, + _swigc__p_std__vectorT_ParserRuleContext_p_std__allocatorT_ParserRuleContext_p_t_t, + _swigc__p_std__vectorT_std__string_std__allocatorT_std__string_t_t, + _swigc__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, + _swigc__p_swig__SwigPyIterator, + _swigc__p_unsigned_int, + _swigc__p_value_type, +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ + +static swig_const_info swig_const_table[] = { +{0, 0, 0, 0.0, 0, 0}}; + +#ifdef __cplusplus +} +#endif +/* ----------------------------------------------------------------------------- + * Type initialization: + * This problem is tough by the requirement that no dynamic + * memory is used. Also, since swig_type_info structures store pointers to + * swig_cast_info structures and swig_cast_info structures store pointers back + * to swig_type_info structures, we need some lookup code at initialization. + * The idea is that swig generates all the structures that are needed. + * The runtime then collects these partially filled structures. + * The SWIG_InitializeModule function takes these initial arrays out of + * swig_module, and does all the lookup, filling in the swig_module.types + * array with the correct data and linking the correct swig_cast_info + * structures together. + * + * The generated swig_type_info structures are assigned statically to an initial + * array. We just loop through that array, and handle each type individually. + * First we lookup if this type has been already loaded, and if so, use the + * loaded structure instead of the generated one. Then we have to fill in the + * cast linked list. The cast data is initially stored in something like a + * two-dimensional array. Each row corresponds to a type (there are the same + * number of rows as there are in the swig_type_initial array). Each entry in + * a column is one of the swig_cast_info structures for that type. + * The cast_initial array is actually an array of arrays, because each row has + * a variable number of columns. So to actually build the cast linked list, + * we find the array of casts associated with the type, and loop through it + * adding the casts to the list. The one last trick we need to do is making + * sure the type pointer in the swig_cast_info struct is correct. + * + * First off, we lookup the cast->type name to see if it is already loaded. + * There are three cases to handle: + * 1) If the cast->type has already been loaded AND the type we are adding + * casting info to has not been loaded (it is in this module), THEN we + * replace the cast->type pointer with the type pointer that has already + * been loaded. + * 2) If BOTH types (the one we are adding casting info to, and the + * cast->type) are loaded, THEN the cast info has already been loaded by + * the previous module so we just ignore it. + * 3) Finally, if cast->type has not already been loaded, then we add that + * swig_cast_info to the linked list (because the cast->type) pointer will + * be correct. + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#if 0 +} /* c-mode */ +#endif +#endif + +#if 0 +#define SWIGRUNTIME_DEBUG +#endif + + +SWIGRUNTIME void +SWIG_InitializeModule(void *clientdata) { + size_t i; + swig_module_info *module_head, *iter; + int init; + + /* check to see if the circular list has been setup, if not, set it up */ + if (swig_module.next==0) { + /* Initialize the swig_module */ + swig_module.type_initial = swig_type_initial; + swig_module.cast_initial = swig_cast_initial; + swig_module.next = &swig_module; + init = 1; + } else { + init = 0; + } + + /* Try and load any already created modules */ + module_head = SWIG_GetModule(clientdata); + if (!module_head) { + /* This is the first module loaded for this interpreter */ + /* so set the swig module into the interpreter */ + SWIG_SetModule(clientdata, &swig_module); + } else { + /* the interpreter has loaded a SWIG module, but has it loaded this one? */ + iter=module_head; + do { + if (iter==&swig_module) { + /* Our module is already in the list, so there's nothing more to do. */ + return; + } + iter=iter->next; + } while (iter!= module_head); + + /* otherwise we must add our module into the list */ + swig_module.next = module_head->next; + module_head->next = &swig_module; + } + + /* When multiple interpreters are used, a module could have already been initialized in + a different interpreter, but not yet have a pointer in this interpreter. + In this case, we do not want to continue adding types... everything should be + set up already */ + if (init == 0) return; + + /* Now work on filling in swig_module.types */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: size %d\n", swig_module.size); +#endif + for (i = 0; i < swig_module.size; ++i) { + swig_type_info *type = 0; + swig_type_info *ret; + swig_cast_info *cast; + +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); +#endif + + /* if there is another module already loaded */ + if (swig_module.next != &swig_module) { + type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); + } + if (type) { + /* Overwrite clientdata field */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found type %s\n", type->name); +#endif + if (swig_module.type_initial[i]->clientdata) { + type->clientdata = swig_module.type_initial[i]->clientdata; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); +#endif + } + } else { + type = swig_module.type_initial[i]; + } + + /* Insert casting types */ + cast = swig_module.cast_initial[i]; + while (cast->type) { + /* Don't need to add information already in the list */ + ret = 0; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); +#endif + if (swig_module.next != &swig_module) { + ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); +#ifdef SWIGRUNTIME_DEBUG + if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); +#endif + } + if (ret) { + if (type == swig_module.type_initial[i]) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: skip old type %s\n", ret->name); +#endif + cast->type = ret; + ret = 0; + } else { + /* Check for casting already in the list */ + swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); +#ifdef SWIGRUNTIME_DEBUG + if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); +#endif + if (!ocast) ret = 0; + } + } + + if (!ret) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); +#endif + if (type->cast) { + type->cast->prev = cast; + cast->next = type->cast; + } + type->cast = cast; + } + cast++; + } + /* Set entry in modules->types array equal to the type */ + swig_module.types[i] = type; + } + swig_module.types[i] = 0; + +#ifdef SWIGRUNTIME_DEBUG + printf("**** SWIG_InitializeModule: Cast List ******\n"); + for (i = 0; i < swig_module.size; ++i) { + int j = 0; + swig_cast_info *cast = swig_module.cast_initial[i]; + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); + while (cast->type) { + printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); + cast++; + ++j; + } + printf("---- Total casts: %d\n",j); + } + printf("**** SWIG_InitializeModule: Cast List ******\n"); +#endif +} + +/* This function will propagate the clientdata field of type to +* any new swig_type_info structures that have been added into the list +* of equivalent types. It is like calling +* SWIG_TypeClientData(type, clientdata) a second time. +*/ +SWIGRUNTIME void +SWIG_PropagateClientData(void) { + size_t i; + swig_cast_info *equiv; + static int init_run = 0; + + if (init_run) return; + init_run = 1; + + for (i = 0; i < swig_module.size; i++) { + if (swig_module.types[i]->clientdata) { + equiv = swig_module.types[i]->cast; + while (equiv) { + if (!equiv->converter) { + if (equiv->type && !equiv->type->clientdata) + SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); + } + equiv = equiv->next; + } + } + } +} + +#ifdef __cplusplus +#if 0 +{ + /* c-mode */ +#endif +} +#endif + + + +#ifdef __cplusplus +extern "C" { +#endif + + /* Python-specific SWIG API */ +#define SWIG_newvarlink() SWIG_Python_newvarlink() +#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr) +#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants) + + /* ----------------------------------------------------------------------------- + * global variable support code. + * ----------------------------------------------------------------------------- */ + + typedef struct swig_globalvar { + char *name; /* Name of global variable */ + PyObject *(*get_attr)(void); /* Return the current value */ + int (*set_attr)(PyObject *); /* Set the value */ + struct swig_globalvar *next; + } swig_globalvar; + + typedef struct swig_varlinkobject { + PyObject_HEAD + swig_globalvar *vars; + } swig_varlinkobject; + + SWIGINTERN PyObject * + swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) { +#if PY_VERSION_HEX >= 0x03000000 + return PyUnicode_InternFromString("<Swig global variables>"); +#else + return PyString_FromString("<Swig global variables>"); +#endif + } + + SWIGINTERN PyObject * + swig_varlink_str(swig_varlinkobject *v) { +#if PY_VERSION_HEX >= 0x03000000 + PyObject *str = PyUnicode_InternFromString("("); + PyObject *tail; + PyObject *joined; + swig_globalvar *var; + for (var = v->vars; var; var=var->next) { + tail = PyUnicode_FromString(var->name); + joined = PyUnicode_Concat(str, tail); + Py_DecRef(str); + Py_DecRef(tail); + str = joined; + if (var->next) { + tail = PyUnicode_InternFromString(", "); + joined = PyUnicode_Concat(str, tail); + Py_DecRef(str); + Py_DecRef(tail); + str = joined; + } + } + tail = PyUnicode_InternFromString(")"); + joined = PyUnicode_Concat(str, tail); + Py_DecRef(str); + Py_DecRef(tail); + str = joined; +#else + PyObject *str = PyString_FromString("("); + swig_globalvar *var; + for (var = v->vars; var; var=var->next) { + PyString_ConcatAndDel(&str,PyString_FromString(var->name)); + if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", ")); + } + PyString_ConcatAndDel(&str,PyString_FromString(")")); +#endif + return str; + } + + SWIGINTERN int + swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) { + char *tmp; + PyObject *str = swig_varlink_str(v); + fprintf(fp,"Swig global variables "); + fprintf(fp,"%s\n", tmp = SWIG_Python_str_AsChar(str)); + SWIG_Python_str_DelForPy3(tmp); + Py_DECREF(str); + return 0; + } + + SWIGINTERN void + swig_varlink_dealloc(swig_varlinkobject *v) { + swig_globalvar *var = v->vars; + while (var) { + swig_globalvar *n = var->next; + free(var->name); + free(var); + var = n; + } + } + + SWIGINTERN PyObject * + swig_varlink_getattr(swig_varlinkobject *v, char *n) { + PyObject *res = NULL; + swig_globalvar *var = v->vars; + while (var) { + if (strcmp(var->name,n) == 0) { + res = (*var->get_attr)(); + break; + } + var = var->next; + } + if (res == NULL && !PyErr_Occurred()) { + PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n); + } + return res; + } + + SWIGINTERN int + swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) { + int res = 1; + swig_globalvar *var = v->vars; + while (var) { + if (strcmp(var->name,n) == 0) { + res = (*var->set_attr)(p); + break; + } + var = var->next; + } + if (res == 1 && !PyErr_Occurred()) { + PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n); + } + return res; + } + + SWIGINTERN PyTypeObject* + swig_varlink_type(void) { + static char varlink__doc__[] = "Swig var link object"; + static PyTypeObject varlink_type; + static int type_init = 0; + if (!type_init) { + const PyTypeObject tmp = { + /* PyObject header changed in Python 3 */ +#if PY_VERSION_HEX >= 0x03000000 + PyVarObject_HEAD_INIT(NULL, 0) +#else + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ +#endif + (char *)"swigvarlink", /* tp_name */ + sizeof(swig_varlinkobject), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor) swig_varlink_dealloc, /* tp_dealloc */ + (printfunc) swig_varlink_print, /* tp_print */ + (getattrfunc) swig_varlink_getattr, /* tp_getattr */ + (setattrfunc) swig_varlink_setattr, /* tp_setattr */ + 0, /* tp_compare */ + (reprfunc) swig_varlink_repr, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + (reprfunc) swig_varlink_str, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + 0, /* tp_flags */ + varlink__doc__, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +#if PY_VERSION_HEX >= 0x02020000 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ +#endif +#if PY_VERSION_HEX >= 0x02030000 + 0, /* tp_del */ +#endif +#if PY_VERSION_HEX >= 0x02060000 + 0, /* tp_version_tag */ +#endif +#if PY_VERSION_HEX >= 0x03040000 + 0, /* tp_finalize */ +#endif +#ifdef COUNT_ALLOCS + 0, /* tp_allocs */ + 0, /* tp_frees */ + 0, /* tp_maxalloc */ +#if PY_VERSION_HEX >= 0x02050000 + 0, /* tp_prev */ +#endif + 0 /* tp_next */ +#endif + }; + varlink_type = tmp; + type_init = 1; +#if PY_VERSION_HEX < 0x02020000 + varlink_type.ob_type = &PyType_Type; +#else + if (PyType_Ready(&varlink_type) < 0) + return NULL; +#endif + } + return &varlink_type; + } + + /* Create a variable linking object for use later */ + SWIGINTERN PyObject * + SWIG_Python_newvarlink(void) { + swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type()); + if (result) { + result->vars = 0; + } + return ((PyObject*) result); + } + + SWIGINTERN void + SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) { + swig_varlinkobject *v = (swig_varlinkobject *) p; + swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar)); + if (gv) { + size_t size = strlen(name)+1; + gv->name = (char *)malloc(size); + if (gv->name) { + strncpy(gv->name,name,size); + gv->get_attr = get_attr; + gv->set_attr = set_attr; + gv->next = v->vars; + } + } + v->vars = gv; + } + + SWIGINTERN PyObject * + SWIG_globals(void) { + static PyObject *_SWIG_globals = 0; + if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink(); + return _SWIG_globals; + } + + /* ----------------------------------------------------------------------------- + * constants/methods manipulation + * ----------------------------------------------------------------------------- */ + + /* Install Constants */ + SWIGINTERN void + SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) { + PyObject *obj = 0; + size_t i; + for (i = 0; constants[i].type; ++i) { + switch(constants[i].type) { + case SWIG_PY_POINTER: + obj = SWIG_InternalNewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0); + break; + case SWIG_PY_BINARY: + obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype)); + break; + default: + obj = 0; + break; + } + if (obj) { + PyDict_SetItemString(d, constants[i].name, obj); + Py_DECREF(obj); + } + } + } + + /* -----------------------------------------------------------------------------*/ + /* Fix SwigMethods to carry the callback ptrs when needed */ + /* -----------------------------------------------------------------------------*/ + + SWIGINTERN void + SWIG_Python_FixMethods(PyMethodDef *methods, + swig_const_info *const_table, + swig_type_info **types, + swig_type_info **types_initial) { + size_t i; + for (i = 0; methods[i].ml_name; ++i) { + const char *c = methods[i].ml_doc; + if (!c) continue; + c = strstr(c, "swig_ptr: "); + if (c) { + int j; + swig_const_info *ci = 0; + const char *name = c + 10; + for (j = 0; const_table[j].type; ++j) { + if (strncmp(const_table[j].name, name, + strlen(const_table[j].name)) == 0) { + ci = &(const_table[j]); + break; + } + } + if (ci) { + void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0; + if (ptr) { + size_t shift = (ci->ptype) - types; + swig_type_info *ty = types_initial[shift]; + size_t ldoc = (c - methods[i].ml_doc); + size_t lptr = strlen(ty->name)+2*sizeof(void*)+2; + char *ndoc = (char*)malloc(ldoc + lptr + 10); + if (ndoc) { + char *buff = ndoc; + strncpy(buff, methods[i].ml_doc, ldoc); + buff += ldoc; + strncpy(buff, "swig_ptr: ", 10); + buff += 10; + SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); + methods[i].ml_doc = ndoc; + } + } + } + } + } + } + +#ifdef __cplusplus +} +#endif + +/* -----------------------------------------------------------------------------* + * Partial Init method + * -----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +extern "C" +#endif + +SWIGEXPORT +#if PY_VERSION_HEX >= 0x03000000 +PyObject* +#else +void +#endif +SWIG_init(void) { + PyObject *m, *d, *md; +#if PY_VERSION_HEX >= 0x03000000 + static struct PyModuleDef SWIG_module = { +# if PY_VERSION_HEX >= 0x03020000 + PyModuleDef_HEAD_INIT, +# else + { + PyObject_HEAD_INIT(NULL) + NULL, /* m_init */ + 0, /* m_index */ + NULL, /* m_copy */ + }, +# endif + (char *) SWIG_name, + NULL, + -1, + SwigMethods, + NULL, + NULL, + NULL, + NULL + }; +#endif + +#if defined(SWIGPYTHON_BUILTIN) + static SwigPyClientData SwigPyObject_clientdata = { + 0, 0, 0, 0, 0, 0, 0 + }; + static PyGetSetDef this_getset_def = { + (char *)"this", &SwigPyBuiltin_ThisClosure, NULL, NULL, NULL + }; + static SwigPyGetSet thisown_getset_closure = { + (PyCFunction) SwigPyObject_own, + (PyCFunction) SwigPyObject_own + }; + static PyGetSetDef thisown_getset_def = { + (char *)"thisown", SwigPyBuiltin_GetterClosure, SwigPyBuiltin_SetterClosure, NULL, &thisown_getset_closure + }; + PyObject *metatype_args; + PyTypeObject *builtin_pytype; + int builtin_base_count; + swig_type_info *builtin_basetype; + PyObject *tuple; + PyGetSetDescrObject *static_getset; + PyTypeObject *metatype; + SwigPyClientData *cd; + PyObject *public_interface, *public_symbol; + PyObject *this_descr; + PyObject *thisown_descr; + PyObject *self = 0; + int i; + + (void)builtin_pytype; + (void)builtin_base_count; + (void)builtin_basetype; + (void)tuple; + (void)static_getset; + (void)self; + + /* metatype is used to implement static member variables. */ + metatype_args = Py_BuildValue("(s(O){})", "SwigPyObjectType", &PyType_Type); + assert(metatype_args); + metatype = (PyTypeObject *) PyType_Type.tp_call((PyObject *) &PyType_Type, metatype_args, NULL); + assert(metatype); + Py_DECREF(metatype_args); + metatype->tp_setattro = (setattrofunc) &SwigPyObjectType_setattro; + assert(PyType_Ready(metatype) >= 0); +#endif + + /* Fix SwigMethods to carry the callback ptrs when needed */ + SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial); + +#if PY_VERSION_HEX >= 0x03000000 + m = PyModule_Create(&SWIG_module); +#else + m = Py_InitModule((char *) SWIG_name, SwigMethods); +#endif + + md = d = PyModule_GetDict(m); + (void)md; + + SWIG_InitializeModule(0); + +#ifdef SWIGPYTHON_BUILTIN + SwigPyObject_stype = SWIG_MangledTypeQuery("_p_SwigPyObject"); + assert(SwigPyObject_stype); + cd = (SwigPyClientData*) SwigPyObject_stype->clientdata; + if (!cd) { + SwigPyObject_stype->clientdata = &SwigPyObject_clientdata; + SwigPyObject_clientdata.pytype = SwigPyObject_TypeOnce(); + } else if (SwigPyObject_TypeOnce()->tp_basicsize != cd->pytype->tp_basicsize) { + PyErr_SetString(PyExc_RuntimeError, "Import error: attempted to load two incompatible swig-generated modules."); +# if PY_VERSION_HEX >= 0x03000000 + return NULL; +# else + return; +# endif + } + + /* All objects have a 'this' attribute */ + this_descr = PyDescr_NewGetSet(SwigPyObject_type(), &this_getset_def); + (void)this_descr; + + /* All objects have a 'thisown' attribute */ + thisown_descr = PyDescr_NewGetSet(SwigPyObject_type(), &thisown_getset_def); + (void)thisown_descr; + + public_interface = PyList_New(0); + public_symbol = 0; + (void)public_symbol; + + PyDict_SetItemString(md, "__all__", public_interface); + Py_DECREF(public_interface); + for (i = 0; SwigMethods[i].ml_name != NULL; ++i) + SwigPyBuiltin_AddPublicSymbol(public_interface, SwigMethods[i].ml_name); + for (i = 0; swig_const_table[i].name != 0; ++i) + SwigPyBuiltin_AddPublicSymbol(public_interface, swig_const_table[i].name); +#endif + + SWIG_InstallConstants(d,swig_const_table); + +#if PY_VERSION_HEX >= 0x03000000 + return m; +#else + return; +#endif +} +
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index fa80ed4..0000000 --- a/src/CMakeLists.txt +++ /dev/null
@@ -1,139 +0,0 @@ -# -*- mode:cmake -*- -cmake_minimum_required (VERSION 2.8) -# 2.8 needed because of ExternalProject - -# Detect build type, fallback to release and throw a warning if use didn't specify any -if(NOT CMAKE_BUILD_TYPE) - message(WARNING "Build type not set, falling back to Release mode. - To specify build type use: - -DCMAKE_BUILD_TYPE=<mode> where <mode> is Debug or Release.") - set(CMAKE_BUILD_TYPE "Release" CACHE STRING - "Choose the type of build, options are: Debug Release." - FORCE) -endif(NOT CMAKE_BUILD_TYPE) - -if(NOT WITH_TEST) - message(STATUS "Building without test. To enable test build use: -DWITH_TEST=True") - set(WITH_TEST False CACHE STRING - "Chose to build with or without test executable" - FORCE) -endif(NOT WITH_TEST) - -option(WITH_LIBCXX "Building with clang++ and libc++(in Linux). To enable with: -DWITH_LIBCXX=On" On) - -project(SURELOG) - -#file(STRINGS "VERSION" SURELOG_VERSION) - -if (WITH_TEST) - -endif(WITH_TEST) - -set(CMAKE_CXX_STANDARD 11) - -cmake_minimum_required(VERSION 3.0) -find_package(PythonLibs 3.3 REQUIRED) -INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS}) -INCLUDE_DIRECTORIES("../antlr4/antlr4-4.7.2/runtime/Cpp/runtime/src/") -INCLUDE_DIRECTORIES("../flatbuffers/include/") -message(STATUS "PYTHON_LIBRARIES = ${PYTHON_LIBRARIES}") -message(STATUS "PYTHON_EXECUTABLE = ${PYTHON_EXECUTABLE}") -message(STATUS "PYTHON_INCLUDE_DIRS = ${PYTHON_INCLUDE_DIRS}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CXX_WARNING_FLAGS}") -set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g ${MY_CXX_WARNING_FLAGS}") -set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG ${MY_CXX_WARNING_FLGAS}") - -# Compiler-specific C++11 activation. -if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel") - execute_process( - COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) - # Just g++-5.0 and greater contain <codecvt> header. (test in ubuntu) - if (NOT (GCC_VERSION VERSION_GREATER 5.0 OR GCC_VERSION VERSION_EQUAL 5.0)) - message(FATAL_ERROR "${PROJECT_NAME} requires g++ 5.0 or greater.") - endif () -elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND APPLE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") -elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND CMAKE_SYSTEM_NAME MATCHES "Linux") - execute_process( - COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE CLANG_VERSION) - if (NOT (CLANG_VERSION VERSION_GREATER 4.2.1 OR CLANG_VERSION VERSION_EQUAL 4.2.1)) - message(FATAL_ERROR "${PROJECT_NAME} requires clang 4.2.1 or greater.") - endif () - # You can use libc++ to compile this project when g++ is NOT greater than or equal to 5.0. - if (WITH_LIBCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") - endif() -elseif ( MSVC_VERSION GREATER 1800 OR MSVC_VERSION EQUAL 1800 ) - # Visual Studio 2012+ supports c++11 features -else () - message(FATAL_ERROR "Your C++ compiler does not support C++11.") -endif () - -#if (WITH_DEMO) -# add_subdirectory(demo) -#endif(WITH_DEMO) - -#set(dir ${CMAKE_CURRENT_SOURCE_DIR}/../Compile/) -#set(EXECUTABLE_OUTPUT_PATH ${dir} CACHE PATH "Build directory" FORCE) -#set(LIBRARY_OUTPUT_PATH ${dir} CACHE PATH "Build directory" FORCE) -#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${dir}) -#set(CMAKE_BUILD_FILES_DIRECTORY ${dir}) -#set(CMAKE_BUILD_DIRECTORY ${dir}) -#set(CMAKE_BINARY_DIR ${dir}) - -set(CMAKE_BUILD_FILES_DIRECTORY ${dir}) -set(CMAKE_BUILD_DIRECTORY ${dir}) - -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../dist/${CMAKE_BUILD_TYPE}/GNU-Linux/ ) - -include_directories( - ${PROJECT_SOURCE_DIR}/API - ${PROJECT_SOURCE_DIR}/Design - ${PROJECT_SOURCE_DIR}/Library - ${PROJECT_SOURCE_DIR}/parser - ${PROJECT_SOURCE_DIR}/SourceCompile - ${PROJECT_SOURCE_DIR}/DesignCompile - ${PROJECT_SOURCE_DIR}/Testbench - ${PROJECT_SOURCE_DIR}/CommandLine - ${PROJECT_SOURCE_DIR}/Common - ${PROJECT_SOURCE_DIR}/ErrorReporting - ${PROJECT_SOURCE_DIR}/Utils - ${PROJECT_SOURCE_DIR}/Cache - ${PROJECT_SOURCE_DIR}/Config - ${PROJECT_SOURCE_DIR}/Expression - ${PROJECT_SOURCE_DIR}/Package -) - - -file(GLOB surelog_SRC - ${PROJECT_SOURCE_DIR}/*.cpp - ${PROJECT_SOURCE_DIR}/API/*.cpp - ${PROJECT_SOURCE_DIR}/Design/*.cpp - ${PROJECT_SOURCE_DIR}/Library/*.cpp - ${PROJECT_SOURCE_DIR}/parser/*.cpp - ${PROJECT_SOURCE_DIR}/SourceCompile/*.cpp - ${PROJECT_SOURCE_DIR}/DesignCompile/*.cpp - ${PROJECT_SOURCE_DIR}/Testbench/*.cpp - ${PROJECT_SOURCE_DIR}/CommandLine/*.cpp - ${PROJECT_SOURCE_DIR}/Common/*.cpp - ${PROJECT_SOURCE_DIR}/ErrorReporting/*.cpp - ${PROJECT_SOURCE_DIR}/Utils/*.cpp - ${PROJECT_SOURCE_DIR}/Cache/*.cpp - ${PROJECT_SOURCE_DIR}/Config/*.cpp - ${PROJECT_SOURCE_DIR}/Expression/*.cpp - ${PROJECT_SOURCE_DIR}/Package/*.cpp - ) - -add_executable(surelog ${surelog_SRC}) - -target_link_libraries( - surelog ${PYTHON_LIBRARIES} - ) - -target_link_libraries( - surelog ${ANTLR_LIB} -) - -target_link_libraries( - surelog -L../../antlr4/antlr4-4.7.2/runtime/Cpp/dist/ libantlr4-runtime.a dl util m rt pthread -)
diff --git a/src/SourceCompile/SV3_1aTreeShapeListener.h b/src/SourceCompile/SV3_1aTreeShapeListener.h new file mode 100644 index 0000000..a5fa546 --- /dev/null +++ b/src/SourceCompile/SV3_1aTreeShapeListener.h
@@ -0,0 +1,1857 @@ +/* + Copyright 2019 Alain Dargelas + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +/* This file is automatically generated by generate_parser_listener.tcl + * DO NOT EDIT THIS FILE. + * If a method needs custom operator, write the method in SV3_1aTreeShapeListener.cpp +*/ + +/* + * File: SV3_1aTreeShapeListener.h + * Author: alain + * + * Created on April 16, 2017, 8:28 PM + */ + +#ifndef SV3_1ATREESHAPELISTENER_H +#define SV3_1ATREESHAPELISTENER_H +#include <stack> +#include <map> +#include <unordered_map> +#include "../Utils/ParseUtils.h" +#include "../SourceCompile/SymbolTable.h" +#include "../Design/TimeInfo.h" +#include "../Design/DesignElement.h" +#include "../Design/FileContent.h" +#include "ParseFile.h" +#include "CompilationUnit.h" +#include "CompileSourceFile.h" +#include "SV3_1aTreeShapeHelper.h" + +namespace SURELOG { + + class SV3_1aTreeShapeListener : public SV3_1aParserBaseListener, public SV3_1aTreeShapeHelper { + private: + + public: + SV3_1aTreeShapeListener(ParseFile* pf, antlr4::CommonTokenStream* tokens, unsigned int lineOffset); + + ~SV3_1aTreeShapeListener(); + + virtual void enterTop_level_rule(SV3_1aParser::Top_level_ruleContext * /*ctx*/) override ; + virtual void exitTop_level_rule(SV3_1aParser::Top_level_ruleContext * ctx) override { addVObject (ctx, VObjectType::slTop_level_rule); } + virtual void enterTop_level_library_rule(SV3_1aParser::Top_level_library_ruleContext * /*ctx*/) override ; + virtual void exitTop_level_library_rule(SV3_1aParser::Top_level_library_ruleContext * ctx) override { addVObject (ctx, VObjectType::slTop_level_library_rule); } + virtual void enterLibrary_text(SV3_1aParser::Library_textContext * /*ctx*/) override { } + virtual void exitLibrary_text(SV3_1aParser::Library_textContext * ctx) override { addVObject (ctx, VObjectType::slLibrary_text); } + virtual void enterLibrary_descriptions(SV3_1aParser::Library_descriptionsContext * /*ctx*/) override { } + virtual void exitLibrary_descriptions(SV3_1aParser::Library_descriptionsContext * ctx) override { addVObject (ctx, VObjectType::slLibrary_descriptions); } + virtual void enterLibrary_declaration(SV3_1aParser::Library_declarationContext * /*ctx*/) override { } + virtual void exitLibrary_declaration(SV3_1aParser::Library_declarationContext * ctx) override { addVObject (ctx, VObjectType::slLibrary_declaration); } + virtual void enterFile_path_spec(SV3_1aParser::File_path_specContext * /*ctx*/) override { } + virtual void exitFile_path_spec(SV3_1aParser::File_path_specContext * /*ctx*/) override ; + virtual void enterInclude_statement(SV3_1aParser::Include_statementContext * /*ctx*/) override { } + virtual void exitInclude_statement(SV3_1aParser::Include_statementContext * ctx) override { addVObject (ctx, VObjectType::slInclude_statement); } + virtual void enterSource_text(SV3_1aParser::Source_textContext * /*ctx*/) override { } + virtual void exitSource_text(SV3_1aParser::Source_textContext * ctx) override { addVObject (ctx, VObjectType::slSource_text); } + virtual void enterNull_rule(SV3_1aParser::Null_ruleContext * /*ctx*/) override { } + virtual void exitNull_rule(SV3_1aParser::Null_ruleContext * ctx) override { addVObject (ctx, VObjectType::slNull_rule); } + virtual void enterDescription(SV3_1aParser::DescriptionContext * /*ctx*/) override { } + virtual void exitDescription(SV3_1aParser::DescriptionContext * ctx) override { addVObject (ctx, VObjectType::slDescription); } + virtual void enterModule_nonansi_header(SV3_1aParser::Module_nonansi_headerContext * /*ctx*/) override { } + virtual void exitModule_nonansi_header(SV3_1aParser::Module_nonansi_headerContext * ctx) override { addVObject (ctx, VObjectType::slModule_nonansi_header); } + virtual void enterModule_ansi_header(SV3_1aParser::Module_ansi_headerContext * /*ctx*/) override { } + virtual void exitModule_ansi_header(SV3_1aParser::Module_ansi_headerContext * ctx) override { addVObject (ctx, VObjectType::slModule_ansi_header); } + virtual void enterModule_declaration(SV3_1aParser::Module_declarationContext * /*ctx*/) override ; + virtual void exitModule_declaration(SV3_1aParser::Module_declarationContext * /*ctx*/) override ; + virtual void enterEndmodule(SV3_1aParser::EndmoduleContext * /*ctx*/) override ; + virtual void exitEndmodule(SV3_1aParser::EndmoduleContext * ctx) override { addVObject (ctx, VObjectType::slEndmodule); } + virtual void enterModule_keyword(SV3_1aParser::Module_keywordContext * /*ctx*/) override { } + virtual void exitModule_keyword(SV3_1aParser::Module_keywordContext * ctx) override { addVObject (ctx, VObjectType::slModule_keyword); } + virtual void enterInterface_nonansi_header(SV3_1aParser::Interface_nonansi_headerContext * /*ctx*/) override { } + virtual void exitInterface_nonansi_header(SV3_1aParser::Interface_nonansi_headerContext * ctx) override { addVObject (ctx, VObjectType::slInterface_nonansi_header); } + virtual void enterInterface_ansi_header(SV3_1aParser::Interface_ansi_headerContext * /*ctx*/) override { } + virtual void exitInterface_ansi_header(SV3_1aParser::Interface_ansi_headerContext * ctx) override { addVObject (ctx, VObjectType::slInterface_ansi_header); } + virtual void enterInterface_declaration(SV3_1aParser::Interface_declarationContext * /*ctx*/) override ; + virtual void exitInterface_declaration(SV3_1aParser::Interface_declarationContext * /*ctx*/) override ; + virtual void enterEndinterface(SV3_1aParser::EndinterfaceContext * /*ctx*/) override ; + virtual void exitEndinterface(SV3_1aParser::EndinterfaceContext * ctx) override { addVObject (ctx, VObjectType::slEndinterface); } + virtual void enterProgram_nonansi_header(SV3_1aParser::Program_nonansi_headerContext * /*ctx*/) override { } + virtual void exitProgram_nonansi_header(SV3_1aParser::Program_nonansi_headerContext * ctx) override { addVObject (ctx, VObjectType::slProgram_nonansi_header); } + virtual void enterProgram_ansi_header(SV3_1aParser::Program_ansi_headerContext * /*ctx*/) override { } + virtual void exitProgram_ansi_header(SV3_1aParser::Program_ansi_headerContext * ctx) override { addVObject (ctx, VObjectType::slProgram_ansi_header); } + virtual void enterEndchecker(SV3_1aParser::EndcheckerContext * /*ctx*/) override { } + virtual void exitEndchecker(SV3_1aParser::EndcheckerContext * ctx) override { addVObject (ctx, VObjectType::slEndchecker); } + virtual void enterChecker_declaration(SV3_1aParser::Checker_declarationContext * /*ctx*/) override { } + virtual void exitChecker_declaration(SV3_1aParser::Checker_declarationContext * ctx) override { addVObject (ctx, VObjectType::slChecker_declaration); } + virtual void enterProgram_declaration(SV3_1aParser::Program_declarationContext * /*ctx*/) override ; + virtual void exitProgram_declaration(SV3_1aParser::Program_declarationContext * ctx) override { addVObject (ctx, VObjectType::slProgram_declaration); } + virtual void enterEndprogram(SV3_1aParser::EndprogramContext * /*ctx*/) override { } + virtual void exitEndprogram(SV3_1aParser::EndprogramContext * ctx) override { addVObject (ctx, VObjectType::slEndprogram); } + virtual void enterClass_declaration(SV3_1aParser::Class_declarationContext * /*ctx*/) override ; + virtual void exitClass_declaration(SV3_1aParser::Class_declarationContext * ctx) override { addVObject (ctx, VObjectType::slClass_declaration); } + virtual void enterEndclass(SV3_1aParser::EndclassContext * /*ctx*/) override { } + virtual void exitEndclass(SV3_1aParser::EndclassContext * ctx) override { addVObject (ctx, VObjectType::slEndclass); } + virtual void enterInterface_class_type(SV3_1aParser::Interface_class_typeContext * /*ctx*/) override { } + virtual void exitInterface_class_type(SV3_1aParser::Interface_class_typeContext * ctx) override { addVObject (ctx, VObjectType::slInterface_class_type); } + virtual void enterInterface_class_declaration(SV3_1aParser::Interface_class_declarationContext * /*ctx*/) override { } + virtual void exitInterface_class_declaration(SV3_1aParser::Interface_class_declarationContext * ctx) override { addVObject (ctx, VObjectType::slInterface_class_declaration); } + virtual void enterInterface_class_item(SV3_1aParser::Interface_class_itemContext * /*ctx*/) override { } + virtual void exitInterface_class_item(SV3_1aParser::Interface_class_itemContext * ctx) override { addVObject (ctx, VObjectType::slInterface_class_item); } + virtual void enterInterface_class_method(SV3_1aParser::Interface_class_methodContext * /*ctx*/) override { } + virtual void exitInterface_class_method(SV3_1aParser::Interface_class_methodContext * ctx) override { addVObject (ctx, VObjectType::slInterface_class_method); } + virtual void enterEndpackage(SV3_1aParser::EndpackageContext * /*ctx*/) override { } + virtual void exitEndpackage(SV3_1aParser::EndpackageContext * ctx) override { addVObject (ctx, VObjectType::slEndpackage); } + virtual void enterPackage_declaration(SV3_1aParser::Package_declarationContext * /*ctx*/) override ; + virtual void exitPackage_declaration(SV3_1aParser::Package_declarationContext * ctx) override { addVObject (ctx, VObjectType::slPackage_declaration); } + virtual void enterTimeUnitsDecl_TimeUnitDiv(SV3_1aParser::TimeUnitsDecl_TimeUnitDivContext * /*ctx*/) override ; + virtual void exitTimeUnitsDecl_TimeUnitDiv(SV3_1aParser::TimeUnitsDecl_TimeUnitDivContext * ctx) override { addVObject (ctx, VObjectType::slTimeUnitsDecl_TimeUnitDiv); } + virtual void enterTimeUnitsDecl_TimeUnit(SV3_1aParser::TimeUnitsDecl_TimeUnitContext * /*ctx*/) override ; + virtual void exitTimeUnitsDecl_TimeUnit(SV3_1aParser::TimeUnitsDecl_TimeUnitContext * ctx) override { addVObject (ctx, VObjectType::slTimeUnitsDecl_TimeUnit); } + virtual void enterTimeUnitsDecl_TimePrecision(SV3_1aParser::TimeUnitsDecl_TimePrecisionContext * /*ctx*/) override ; + virtual void exitTimeUnitsDecl_TimePrecision(SV3_1aParser::TimeUnitsDecl_TimePrecisionContext * ctx) override { addVObject (ctx, VObjectType::slTimeUnitsDecl_TimePrecision); } + virtual void enterTimeUnitsDecl_TimeUnitTimePrecision(SV3_1aParser::TimeUnitsDecl_TimeUnitTimePrecisionContext * /*ctx*/) override ; + virtual void exitTimeUnitsDecl_TimeUnitTimePrecision(SV3_1aParser::TimeUnitsDecl_TimeUnitTimePrecisionContext * ctx) override { addVObject (ctx, VObjectType::slTimeUnitsDecl_TimeUnitTimePrecision); } + virtual void enterTimeUnitsDecl_TimePrecisionTimeUnit(SV3_1aParser::TimeUnitsDecl_TimePrecisionTimeUnitContext * /*ctx*/) override ; + virtual void exitTimeUnitsDecl_TimePrecisionTimeUnit(SV3_1aParser::TimeUnitsDecl_TimePrecisionTimeUnitContext * ctx) override { addVObject (ctx, VObjectType::slTimeUnitsDecl_TimePrecisionTimeUnit); } + virtual void enterParameter_port_list(SV3_1aParser::Parameter_port_listContext * /*ctx*/) override { } + virtual void exitParameter_port_list(SV3_1aParser::Parameter_port_listContext * ctx) override { addVObject (ctx, VObjectType::slParameter_port_list); } + virtual void enterParameter_port_declaration(SV3_1aParser::Parameter_port_declarationContext * /*ctx*/) override { } + virtual void exitParameter_port_declaration(SV3_1aParser::Parameter_port_declarationContext * ctx) override { addVObject (ctx, VObjectType::slParameter_port_declaration); } + virtual void enterList_of_ports(SV3_1aParser::List_of_portsContext * /*ctx*/) override { } + virtual void exitList_of_ports(SV3_1aParser::List_of_portsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_ports); } + virtual void enterList_of_port_declarations(SV3_1aParser::List_of_port_declarationsContext * /*ctx*/) override { } + virtual void exitList_of_port_declarations(SV3_1aParser::List_of_port_declarationsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_port_declarations); } + virtual void enterPort_declaration(SV3_1aParser::Port_declarationContext * /*ctx*/) override { } + virtual void exitPort_declaration(SV3_1aParser::Port_declarationContext * ctx) override { addVObject (ctx, VObjectType::slPort_declaration); } + virtual void enterPort(SV3_1aParser::PortContext * /*ctx*/) override { } + virtual void exitPort(SV3_1aParser::PortContext * ctx) override { addVObject (ctx, VObjectType::slPort); } + virtual void enterPort_expression(SV3_1aParser::Port_expressionContext * /*ctx*/) override { } + virtual void exitPort_expression(SV3_1aParser::Port_expressionContext * ctx) override { addVObject (ctx, VObjectType::slPort_expression); } + virtual void enterPort_reference(SV3_1aParser::Port_referenceContext * /*ctx*/) override { } + virtual void exitPort_reference(SV3_1aParser::Port_referenceContext * ctx) override { addVObject (ctx, VObjectType::slPort_reference); } + virtual void enterPortDir_Inp(SV3_1aParser::PortDir_InpContext * /*ctx*/) override { } + virtual void exitPortDir_Inp(SV3_1aParser::PortDir_InpContext * ctx) override { addVObject (ctx, VObjectType::slPortDir_Inp); } + virtual void enterPortDir_Out(SV3_1aParser::PortDir_OutContext * /*ctx*/) override { } + virtual void exitPortDir_Out(SV3_1aParser::PortDir_OutContext * ctx) override { addVObject (ctx, VObjectType::slPortDir_Out); } + virtual void enterPortDir_Inout(SV3_1aParser::PortDir_InoutContext * /*ctx*/) override { } + virtual void exitPortDir_Inout(SV3_1aParser::PortDir_InoutContext * ctx) override { addVObject (ctx, VObjectType::slPortDir_Inout); } + virtual void enterPortDir_Ref(SV3_1aParser::PortDir_RefContext * /*ctx*/) override { } + virtual void exitPortDir_Ref(SV3_1aParser::PortDir_RefContext * ctx) override { addVObject (ctx, VObjectType::slPortDir_Ref); } + virtual void enterNet_port_header(SV3_1aParser::Net_port_headerContext * /*ctx*/) override { } + virtual void exitNet_port_header(SV3_1aParser::Net_port_headerContext * ctx) override { addVObject (ctx, VObjectType::slNet_port_header); } + virtual void enterVariable_port_header(SV3_1aParser::Variable_port_headerContext * /*ctx*/) override { } + virtual void exitVariable_port_header(SV3_1aParser::Variable_port_headerContext * ctx) override { addVObject (ctx, VObjectType::slVariable_port_header); } + virtual void enterInterface_port_header(SV3_1aParser::Interface_port_headerContext * /*ctx*/) override { } + virtual void exitInterface_port_header(SV3_1aParser::Interface_port_headerContext * ctx) override { addVObject (ctx, VObjectType::slInterface_port_header); } + virtual void enterAnsi_port_declaration(SV3_1aParser::Ansi_port_declarationContext * /*ctx*/) override { } + virtual void exitAnsi_port_declaration(SV3_1aParser::Ansi_port_declarationContext * ctx) override { addVObject (ctx, VObjectType::slAnsi_port_declaration); } + virtual void enterElaboration_system_task(SV3_1aParser::Elaboration_system_taskContext * /*ctx*/) override { } + virtual void exitElaboration_system_task(SV3_1aParser::Elaboration_system_taskContext * ctx) override { addVObject (ctx, VObjectType::slElaboration_system_task); } + virtual void enterModule_common_item(SV3_1aParser::Module_common_itemContext * /*ctx*/) override { } + virtual void exitModule_common_item(SV3_1aParser::Module_common_itemContext * ctx) override { addVObject (ctx, VObjectType::slModule_common_item); } + virtual void enterModule_item(SV3_1aParser::Module_itemContext * /*ctx*/) override { } + virtual void exitModule_item(SV3_1aParser::Module_itemContext * ctx) override { addVObject (ctx, VObjectType::slModule_item); } + virtual void enterModule_or_generate_item(SV3_1aParser::Module_or_generate_itemContext * /*ctx*/) override { } + virtual void exitModule_or_generate_item(SV3_1aParser::Module_or_generate_itemContext * ctx) override { addVObject (ctx, VObjectType::slModule_or_generate_item); } + virtual void enterModule_or_generate_item_declaration(SV3_1aParser::Module_or_generate_item_declarationContext * /*ctx*/) override { } + virtual void exitModule_or_generate_item_declaration(SV3_1aParser::Module_or_generate_item_declarationContext * ctx) override { addVObject (ctx, VObjectType::slModule_or_generate_item_declaration); } + virtual void enterNon_port_module_item(SV3_1aParser::Non_port_module_itemContext * /*ctx*/) override { } + virtual void exitNon_port_module_item(SV3_1aParser::Non_port_module_itemContext * ctx) override { addVObject (ctx, VObjectType::slNon_port_module_item); } + virtual void enterParameter_override(SV3_1aParser::Parameter_overrideContext * /*ctx*/) override { } + virtual void exitParameter_override(SV3_1aParser::Parameter_overrideContext * ctx) override { addVObject (ctx, VObjectType::slParameter_override); } + virtual void enterBind_directive(SV3_1aParser::Bind_directiveContext * /*ctx*/) override { } + virtual void exitBind_directive(SV3_1aParser::Bind_directiveContext * ctx) override { addVObject (ctx, VObjectType::slBind_directive); } + virtual void enterBind_instantiation(SV3_1aParser::Bind_instantiationContext * /*ctx*/) override { } + virtual void exitBind_instantiation(SV3_1aParser::Bind_instantiationContext * ctx) override { addVObject (ctx, VObjectType::slBind_instantiation); } + virtual void enterInterface_or_generate_item(SV3_1aParser::Interface_or_generate_itemContext * /*ctx*/) override { } + virtual void exitInterface_or_generate_item(SV3_1aParser::Interface_or_generate_itemContext * ctx) override { addVObject (ctx, VObjectType::slInterface_or_generate_item); } + virtual void enterExtern_tf_declaration(SV3_1aParser::Extern_tf_declarationContext * /*ctx*/) override { } + virtual void exitExtern_tf_declaration(SV3_1aParser::Extern_tf_declarationContext * ctx) override { addVObject (ctx, VObjectType::slExtern_tf_declaration); } + virtual void enterInterface_item(SV3_1aParser::Interface_itemContext * /*ctx*/) override { } + virtual void exitInterface_item(SV3_1aParser::Interface_itemContext * ctx) override { addVObject (ctx, VObjectType::slInterface_item); } + virtual void enterNon_port_interface_item(SV3_1aParser::Non_port_interface_itemContext * /*ctx*/) override { } + virtual void exitNon_port_interface_item(SV3_1aParser::Non_port_interface_itemContext * ctx) override { addVObject (ctx, VObjectType::slNon_port_interface_item); } + virtual void enterProgram_item(SV3_1aParser::Program_itemContext * /*ctx*/) override { } + virtual void exitProgram_item(SV3_1aParser::Program_itemContext * ctx) override { addVObject (ctx, VObjectType::slProgram_item); } + virtual void enterNon_port_program_item(SV3_1aParser::Non_port_program_itemContext * /*ctx*/) override { } + virtual void exitNon_port_program_item(SV3_1aParser::Non_port_program_itemContext * ctx) override { addVObject (ctx, VObjectType::slNon_port_program_item); } + virtual void enterProgram_generate_item(SV3_1aParser::Program_generate_itemContext * /*ctx*/) override { } + virtual void exitProgram_generate_item(SV3_1aParser::Program_generate_itemContext * ctx) override { addVObject (ctx, VObjectType::slProgram_generate_item); } + virtual void enterChecker_port_list(SV3_1aParser::Checker_port_listContext * /*ctx*/) override { } + virtual void exitChecker_port_list(SV3_1aParser::Checker_port_listContext * ctx) override { addVObject (ctx, VObjectType::slChecker_port_list); } + virtual void enterChecker_port_item(SV3_1aParser::Checker_port_itemContext * /*ctx*/) override { } + virtual void exitChecker_port_item(SV3_1aParser::Checker_port_itemContext * ctx) override { addVObject (ctx, VObjectType::slChecker_port_item); } + virtual void enterChecker_or_generate_item(SV3_1aParser::Checker_or_generate_itemContext * /*ctx*/) override { } + virtual void exitChecker_or_generate_item(SV3_1aParser::Checker_or_generate_itemContext * ctx) override { addVObject (ctx, VObjectType::slChecker_or_generate_item); } + virtual void enterChecker_or_generate_item_declaration(SV3_1aParser::Checker_or_generate_item_declarationContext * /*ctx*/) override { } + virtual void exitChecker_or_generate_item_declaration(SV3_1aParser::Checker_or_generate_item_declarationContext * ctx) override { addVObject (ctx, VObjectType::slChecker_or_generate_item_declaration); } + virtual void enterChecker_generate_item(SV3_1aParser::Checker_generate_itemContext * /*ctx*/) override { } + virtual void exitChecker_generate_item(SV3_1aParser::Checker_generate_itemContext * ctx) override { addVObject (ctx, VObjectType::slChecker_generate_item); } + virtual void enterClass_item(SV3_1aParser::Class_itemContext * /*ctx*/) override { } + virtual void exitClass_item(SV3_1aParser::Class_itemContext * ctx) override { addVObject (ctx, VObjectType::slClass_item); } + virtual void enterClass_property(SV3_1aParser::Class_propertyContext * /*ctx*/) override { } + virtual void exitClass_property(SV3_1aParser::Class_propertyContext * ctx) override { addVObject (ctx, VObjectType::slClass_property); } + virtual void enterPure_virtual_qualifier(SV3_1aParser::Pure_virtual_qualifierContext * /*ctx*/) override { } + virtual void exitPure_virtual_qualifier(SV3_1aParser::Pure_virtual_qualifierContext * ctx) override { addVObject (ctx, VObjectType::slPure_virtual_qualifier); } + virtual void enterExtern_qualifier(SV3_1aParser::Extern_qualifierContext * /*ctx*/) override { } + virtual void exitExtern_qualifier(SV3_1aParser::Extern_qualifierContext * ctx) override { addVObject (ctx, VObjectType::slExtern_qualifier); } + virtual void enterClass_method(SV3_1aParser::Class_methodContext * /*ctx*/) override { } + virtual void exitClass_method(SV3_1aParser::Class_methodContext * ctx) override { addVObject (ctx, VObjectType::slClass_method); } + virtual void enterClass_constructor_prototype(SV3_1aParser::Class_constructor_prototypeContext * /*ctx*/) override { } + virtual void exitClass_constructor_prototype(SV3_1aParser::Class_constructor_prototypeContext * ctx) override { addVObject (ctx, VObjectType::slClass_constructor_prototype); } + virtual void enterClass_constraint(SV3_1aParser::Class_constraintContext * /*ctx*/) override { } + virtual void exitClass_constraint(SV3_1aParser::Class_constraintContext * ctx) override { addVObject (ctx, VObjectType::slClass_constraint); } + virtual void enterClassItemQualifier_Static(SV3_1aParser::ClassItemQualifier_StaticContext * /*ctx*/) override { } + virtual void exitClassItemQualifier_Static(SV3_1aParser::ClassItemQualifier_StaticContext * ctx) override { addVObject (ctx, VObjectType::slClassItemQualifier_Static); } + virtual void enterClassItemQualifier_Protected(SV3_1aParser::ClassItemQualifier_ProtectedContext * /*ctx*/) override { } + virtual void exitClassItemQualifier_Protected(SV3_1aParser::ClassItemQualifier_ProtectedContext * ctx) override { addVObject (ctx, VObjectType::slClassItemQualifier_Protected); } + virtual void enterClassItemQualifier_Local(SV3_1aParser::ClassItemQualifier_LocalContext * /*ctx*/) override { } + virtual void exitClassItemQualifier_Local(SV3_1aParser::ClassItemQualifier_LocalContext * ctx) override { addVObject (ctx, VObjectType::slClassItemQualifier_Local); } + virtual void enterPropQualifier_Rand(SV3_1aParser::PropQualifier_RandContext * /*ctx*/) override { } + virtual void exitPropQualifier_Rand(SV3_1aParser::PropQualifier_RandContext * ctx) override { addVObject (ctx, VObjectType::slPropQualifier_Rand); } + virtual void enterPropQualifier_Randc(SV3_1aParser::PropQualifier_RandcContext * /*ctx*/) override { } + virtual void exitPropQualifier_Randc(SV3_1aParser::PropQualifier_RandcContext * ctx) override { addVObject (ctx, VObjectType::slPropQualifier_Randc); } + virtual void enterPropQualifier_ClassItem(SV3_1aParser::PropQualifier_ClassItemContext * /*ctx*/) override { } + virtual void exitPropQualifier_ClassItem(SV3_1aParser::PropQualifier_ClassItemContext * ctx) override { addVObject (ctx, VObjectType::slPropQualifier_ClassItem); } + virtual void enterMethodQualifier_Virtual(SV3_1aParser::MethodQualifier_VirtualContext * /*ctx*/) override { } + virtual void exitMethodQualifier_Virtual(SV3_1aParser::MethodQualifier_VirtualContext * ctx) override { addVObject (ctx, VObjectType::slMethodQualifier_Virtual); } + virtual void enterMethodQualifier_ClassItem(SV3_1aParser::MethodQualifier_ClassItemContext * /*ctx*/) override { } + virtual void exitMethodQualifier_ClassItem(SV3_1aParser::MethodQualifier_ClassItemContext * ctx) override { addVObject (ctx, VObjectType::slMethodQualifier_ClassItem); } + virtual void enterMethod_prototype(SV3_1aParser::Method_prototypeContext * /*ctx*/) override { } + virtual void exitMethod_prototype(SV3_1aParser::Method_prototypeContext * ctx) override { addVObject (ctx, VObjectType::slMethod_prototype); } + virtual void enterSuper_dot_new(SV3_1aParser::Super_dot_newContext * /*ctx*/) override { } + virtual void exitSuper_dot_new(SV3_1aParser::Super_dot_newContext * ctx) override { addVObject (ctx, VObjectType::slSuper_dot_new); } + virtual void enterClass_constructor_declaration(SV3_1aParser::Class_constructor_declarationContext * /*ctx*/) override { } + virtual void exitClass_constructor_declaration(SV3_1aParser::Class_constructor_declarationContext * ctx) override { addVObject (ctx, VObjectType::slClass_constructor_declaration); } + virtual void enterConstraint_declaration(SV3_1aParser::Constraint_declarationContext * /*ctx*/) override { } + virtual void exitConstraint_declaration(SV3_1aParser::Constraint_declarationContext * ctx) override { addVObject (ctx, VObjectType::slConstraint_declaration); } + virtual void enterConstraint_block(SV3_1aParser::Constraint_blockContext * /*ctx*/) override { } + virtual void exitConstraint_block(SV3_1aParser::Constraint_blockContext * ctx) override { addVObject (ctx, VObjectType::slConstraint_block); } + virtual void enterConstraint_block_item(SV3_1aParser::Constraint_block_itemContext * /*ctx*/) override { } + virtual void exitConstraint_block_item(SV3_1aParser::Constraint_block_itemContext * ctx) override { addVObject (ctx, VObjectType::slConstraint_block_item); } + virtual void enterSolve_before_list(SV3_1aParser::Solve_before_listContext * /*ctx*/) override { } + virtual void exitSolve_before_list(SV3_1aParser::Solve_before_listContext * ctx) override { addVObject (ctx, VObjectType::slSolve_before_list); } + virtual void enterConstraint_primary(SV3_1aParser::Constraint_primaryContext * /*ctx*/) override { } + virtual void exitConstraint_primary(SV3_1aParser::Constraint_primaryContext * ctx) override { addVObject (ctx, VObjectType::slConstraint_primary); } + virtual void enterConstraint_expression(SV3_1aParser::Constraint_expressionContext * /*ctx*/) override { } + virtual void exitConstraint_expression(SV3_1aParser::Constraint_expressionContext * ctx) override { addVObject (ctx, VObjectType::slConstraint_expression); } + virtual void enterUniqueness_constraint(SV3_1aParser::Uniqueness_constraintContext * /*ctx*/) override { } + virtual void exitUniqueness_constraint(SV3_1aParser::Uniqueness_constraintContext * ctx) override { addVObject (ctx, VObjectType::slUniqueness_constraint); } + virtual void enterConstraint_set(SV3_1aParser::Constraint_setContext * /*ctx*/) override { } + virtual void exitConstraint_set(SV3_1aParser::Constraint_setContext * ctx) override { addVObject (ctx, VObjectType::slConstraint_set); } + virtual void enterDist_list(SV3_1aParser::Dist_listContext * /*ctx*/) override { } + virtual void exitDist_list(SV3_1aParser::Dist_listContext * ctx) override { addVObject (ctx, VObjectType::slDist_list); } + virtual void enterDist_item(SV3_1aParser::Dist_itemContext * /*ctx*/) override { } + virtual void exitDist_item(SV3_1aParser::Dist_itemContext * ctx) override { addVObject (ctx, VObjectType::slDist_item); } + virtual void enterDistWeight_AssignValue(SV3_1aParser::DistWeight_AssignValueContext * /*ctx*/) override { } + virtual void exitDistWeight_AssignValue(SV3_1aParser::DistWeight_AssignValueContext * ctx) override { addVObject (ctx, VObjectType::slDistWeight_AssignValue); } + virtual void enterDistWeight_AssignRange(SV3_1aParser::DistWeight_AssignRangeContext * /*ctx*/) override { } + virtual void exitDistWeight_AssignRange(SV3_1aParser::DistWeight_AssignRangeContext * ctx) override { addVObject (ctx, VObjectType::slDistWeight_AssignRange); } + virtual void enterConstraint_prototype(SV3_1aParser::Constraint_prototypeContext * /*ctx*/) override { } + virtual void exitConstraint_prototype(SV3_1aParser::Constraint_prototypeContext * ctx) override { addVObject (ctx, VObjectType::slConstraint_prototype); } + virtual void enterExtern_constraint_declaration(SV3_1aParser::Extern_constraint_declarationContext * /*ctx*/) override { } + virtual void exitExtern_constraint_declaration(SV3_1aParser::Extern_constraint_declarationContext * ctx) override { addVObject (ctx, VObjectType::slExtern_constraint_declaration); } + virtual void enterIdentifier_list(SV3_1aParser::Identifier_listContext * /*ctx*/) override { } + virtual void exitIdentifier_list(SV3_1aParser::Identifier_listContext * ctx) override { addVObject (ctx, VObjectType::slIdentifier_list); } + virtual void enterPackage_item(SV3_1aParser::Package_itemContext * /*ctx*/) override { } + virtual void exitPackage_item(SV3_1aParser::Package_itemContext * ctx) override { addVObject (ctx, VObjectType::slPackage_item); } + virtual void enterPackage_or_generate_item_declaration(SV3_1aParser::Package_or_generate_item_declarationContext * /*ctx*/) override { } + virtual void exitPackage_or_generate_item_declaration(SV3_1aParser::Package_or_generate_item_declarationContext * ctx) override { addVObject (ctx, VObjectType::slPackage_or_generate_item_declaration); } + virtual void enterAnonymous_program(SV3_1aParser::Anonymous_programContext * /*ctx*/) override { } + virtual void exitAnonymous_program(SV3_1aParser::Anonymous_programContext * ctx) override { addVObject (ctx, VObjectType::slAnonymous_program); } + virtual void enterAnonymous_program_item(SV3_1aParser::Anonymous_program_itemContext * /*ctx*/) override { } + virtual void exitAnonymous_program_item(SV3_1aParser::Anonymous_program_itemContext * ctx) override { addVObject (ctx, VObjectType::slAnonymous_program_item); } + virtual void enterLocal_parameter_declaration(SV3_1aParser::Local_parameter_declarationContext * /*ctx*/) override { } + virtual void exitLocal_parameter_declaration(SV3_1aParser::Local_parameter_declarationContext * ctx) override { addVObject (ctx, VObjectType::slLocal_parameter_declaration); } + virtual void enterParameter_declaration(SV3_1aParser::Parameter_declarationContext * /*ctx*/) override { } + virtual void exitParameter_declaration(SV3_1aParser::Parameter_declarationContext * ctx) override { addVObject (ctx, VObjectType::slParameter_declaration); } + virtual void enterSpecparam_declaration(SV3_1aParser::Specparam_declarationContext * /*ctx*/) override { } + virtual void exitSpecparam_declaration(SV3_1aParser::Specparam_declarationContext * ctx) override { addVObject (ctx, VObjectType::slSpecparam_declaration); } + virtual void enterInout_declaration(SV3_1aParser::Inout_declarationContext * /*ctx*/) override { } + virtual void exitInout_declaration(SV3_1aParser::Inout_declarationContext * ctx) override { addVObject (ctx, VObjectType::slInout_declaration); } + virtual void enterInput_declaration(SV3_1aParser::Input_declarationContext * /*ctx*/) override { } + virtual void exitInput_declaration(SV3_1aParser::Input_declarationContext * ctx) override { addVObject (ctx, VObjectType::slInput_declaration); } + virtual void enterOutput_declaration(SV3_1aParser::Output_declarationContext * /*ctx*/) override { } + virtual void exitOutput_declaration(SV3_1aParser::Output_declarationContext * ctx) override { addVObject (ctx, VObjectType::slOutput_declaration); } + virtual void enterInterface_port_declaration(SV3_1aParser::Interface_port_declarationContext * /*ctx*/) override { } + virtual void exitInterface_port_declaration(SV3_1aParser::Interface_port_declarationContext * ctx) override { addVObject (ctx, VObjectType::slInterface_port_declaration); } + virtual void enterRef_declaration(SV3_1aParser::Ref_declarationContext * /*ctx*/) override { } + virtual void exitRef_declaration(SV3_1aParser::Ref_declarationContext * ctx) override { addVObject (ctx, VObjectType::slRef_declaration); } + virtual void enterData_declaration(SV3_1aParser::Data_declarationContext * /*ctx*/) override { } + virtual void exitData_declaration(SV3_1aParser::Data_declarationContext * ctx) override { addVObject (ctx, VObjectType::slData_declaration); } + virtual void enterVariable_declaration(SV3_1aParser::Variable_declarationContext * /*ctx*/) override { } + virtual void exitVariable_declaration(SV3_1aParser::Variable_declarationContext * ctx) override { addVObject (ctx, VObjectType::slVariable_declaration); } + virtual void enterPackage_import_declaration(SV3_1aParser::Package_import_declarationContext * /*ctx*/) override { } + virtual void exitPackage_import_declaration(SV3_1aParser::Package_import_declarationContext * ctx) override { addVObject (ctx, VObjectType::slPackage_import_declaration); } + virtual void enterPackage_import_item(SV3_1aParser::Package_import_itemContext * /*ctx*/) override { } + virtual void exitPackage_import_item(SV3_1aParser::Package_import_itemContext * ctx) override { addVObject (ctx, VObjectType::slPackage_import_item); } + virtual void enterPackage_export_declaration(SV3_1aParser::Package_export_declarationContext * /*ctx*/) override { } + virtual void exitPackage_export_declaration(SV3_1aParser::Package_export_declarationContext * ctx) override { addVObject (ctx, VObjectType::slPackage_export_declaration); } + virtual void enterGenvar_declaration(SV3_1aParser::Genvar_declarationContext * /*ctx*/) override { } + virtual void exitGenvar_declaration(SV3_1aParser::Genvar_declarationContext * ctx) override { addVObject (ctx, VObjectType::slGenvar_declaration); } + virtual void enterNet_declaration(SV3_1aParser::Net_declarationContext * /*ctx*/) override { } + virtual void exitNet_declaration(SV3_1aParser::Net_declarationContext * ctx) override { addVObject (ctx, VObjectType::slNet_declaration); } + virtual void enterType_declaration(SV3_1aParser::Type_declarationContext * /*ctx*/) override { } + virtual void exitType_declaration(SV3_1aParser::Type_declarationContext * ctx) override { addVObject (ctx, VObjectType::slType_declaration); } + virtual void enterEnum_keyword(SV3_1aParser::Enum_keywordContext * /*ctx*/) override { } + virtual void exitEnum_keyword(SV3_1aParser::Enum_keywordContext * ctx) override { addVObject (ctx, VObjectType::slEnum_keyword); } + virtual void enterStruct_keyword(SV3_1aParser::Struct_keywordContext * /*ctx*/) override { } + virtual void exitStruct_keyword(SV3_1aParser::Struct_keywordContext * ctx) override { addVObject (ctx, VObjectType::slStruct_keyword); } + virtual void enterUnion_keyword(SV3_1aParser::Union_keywordContext * /*ctx*/) override { } + virtual void exitUnion_keyword(SV3_1aParser::Union_keywordContext * ctx) override { addVObject (ctx, VObjectType::slUnion_keyword); } + virtual void enterClass_keyword(SV3_1aParser::Class_keywordContext * /*ctx*/) override { } + virtual void exitClass_keyword(SV3_1aParser::Class_keywordContext * ctx) override { addVObject (ctx, VObjectType::slClass_keyword); } + virtual void enterInterface_class_keyword(SV3_1aParser::Interface_class_keywordContext * /*ctx*/) override { } + virtual void exitInterface_class_keyword(SV3_1aParser::Interface_class_keywordContext * ctx) override { addVObject (ctx, VObjectType::slInterface_class_keyword); } + virtual void enterNet_type_declaration(SV3_1aParser::Net_type_declarationContext * /*ctx*/) override { } + virtual void exitNet_type_declaration(SV3_1aParser::Net_type_declarationContext * ctx) override { addVObject (ctx, VObjectType::slNet_type_declaration); } + virtual void enterLifetime_Static(SV3_1aParser::Lifetime_StaticContext * /*ctx*/) override { } + virtual void exitLifetime_Static(SV3_1aParser::Lifetime_StaticContext * ctx) override { addVObject (ctx, VObjectType::slLifetime_Static); } + virtual void enterLifetime_Automatic(SV3_1aParser::Lifetime_AutomaticContext * /*ctx*/) override { } + virtual void exitLifetime_Automatic(SV3_1aParser::Lifetime_AutomaticContext * ctx) override { addVObject (ctx, VObjectType::slLifetime_Automatic); } + virtual void enterCasting_type(SV3_1aParser::Casting_typeContext * /*ctx*/) override { } + virtual void exitCasting_type(SV3_1aParser::Casting_typeContext * ctx) override { addVObject (ctx, VObjectType::slCasting_type); } + virtual void enterData_type(SV3_1aParser::Data_typeContext * /*ctx*/) override { } + virtual void exitData_type(SV3_1aParser::Data_typeContext * ctx) override { addVObject (ctx, VObjectType::slData_type); } + virtual void enterPacked_keyword(SV3_1aParser::Packed_keywordContext * /*ctx*/) override { } + virtual void exitPacked_keyword(SV3_1aParser::Packed_keywordContext * ctx) override { addVObject (ctx, VObjectType::slPacked_keyword); } + virtual void enterString_type(SV3_1aParser::String_typeContext * /*ctx*/) override { } + virtual void exitString_type(SV3_1aParser::String_typeContext * ctx) override { addVObject (ctx, VObjectType::slString_type); } + virtual void enterString_value(SV3_1aParser::String_valueContext * /*ctx*/) override { } + virtual void exitString_value(SV3_1aParser::String_valueContext * /*ctx*/) override ; + virtual void enterChandle_type(SV3_1aParser::Chandle_typeContext * /*ctx*/) override { } + virtual void exitChandle_type(SV3_1aParser::Chandle_typeContext * ctx) override { addVObject (ctx, VObjectType::slChandle_type); } + virtual void enterEvent_type(SV3_1aParser::Event_typeContext * /*ctx*/) override { } + virtual void exitEvent_type(SV3_1aParser::Event_typeContext * ctx) override { addVObject (ctx, VObjectType::slEvent_type); } + virtual void enterConst_type(SV3_1aParser::Const_typeContext * /*ctx*/) override { } + virtual void exitConst_type(SV3_1aParser::Const_typeContext * ctx) override { addVObject (ctx, VObjectType::slConst_type); } + virtual void enterData_type_or_implicit(SV3_1aParser::Data_type_or_implicitContext * /*ctx*/) override { } + virtual void exitData_type_or_implicit(SV3_1aParser::Data_type_or_implicitContext * ctx) override { addVObject (ctx, VObjectType::slData_type_or_implicit); } + virtual void enterImplicit_data_type(SV3_1aParser::Implicit_data_typeContext * /*ctx*/) override { } + virtual void exitImplicit_data_type(SV3_1aParser::Implicit_data_typeContext * ctx) override { addVObject (ctx, VObjectType::slImplicit_data_type); } + virtual void enterEnum_base_type(SV3_1aParser::Enum_base_typeContext * /*ctx*/) override { } + virtual void exitEnum_base_type(SV3_1aParser::Enum_base_typeContext * ctx) override { addVObject (ctx, VObjectType::slEnum_base_type); } + virtual void enterEnum_name_declaration(SV3_1aParser::Enum_name_declarationContext * /*ctx*/) override { } + virtual void exitEnum_name_declaration(SV3_1aParser::Enum_name_declarationContext * ctx) override { addVObject (ctx, VObjectType::slEnum_name_declaration); } + virtual void enterClass_scope(SV3_1aParser::Class_scopeContext * /*ctx*/) override { } + virtual void exitClass_scope(SV3_1aParser::Class_scopeContext * ctx) override { addVObject (ctx, VObjectType::slClass_scope); } + virtual void enterClass_type(SV3_1aParser::Class_typeContext * /*ctx*/) override { } + virtual void exitClass_type(SV3_1aParser::Class_typeContext * /*ctx*/) override ; + virtual void enterInteger_type(SV3_1aParser::Integer_typeContext * /*ctx*/) override { } + virtual void exitInteger_type(SV3_1aParser::Integer_typeContext * ctx) override { addVObject (ctx, VObjectType::slInteger_type); } + virtual void enterIntegerAtomType_Byte(SV3_1aParser::IntegerAtomType_ByteContext * /*ctx*/) override { } + virtual void exitIntegerAtomType_Byte(SV3_1aParser::IntegerAtomType_ByteContext * ctx) override { addVObject (ctx, VObjectType::slIntegerAtomType_Byte); } + virtual void enterIntegerAtomType_Shortint(SV3_1aParser::IntegerAtomType_ShortintContext * /*ctx*/) override { } + virtual void exitIntegerAtomType_Shortint(SV3_1aParser::IntegerAtomType_ShortintContext * ctx) override { addVObject (ctx, VObjectType::slIntegerAtomType_Shortint); } + virtual void enterIntegerAtomType_Int(SV3_1aParser::IntegerAtomType_IntContext * /*ctx*/) override { } + virtual void exitIntegerAtomType_Int(SV3_1aParser::IntegerAtomType_IntContext * ctx) override { addVObject (ctx, VObjectType::slIntegerAtomType_Int); } + virtual void enterIntegerAtomType_LongInt(SV3_1aParser::IntegerAtomType_LongIntContext * /*ctx*/) override { } + virtual void exitIntegerAtomType_LongInt(SV3_1aParser::IntegerAtomType_LongIntContext * ctx) override { addVObject (ctx, VObjectType::slIntegerAtomType_LongInt); } + virtual void enterIntegerAtomType_Time(SV3_1aParser::IntegerAtomType_TimeContext * /*ctx*/) override { } + virtual void exitIntegerAtomType_Time(SV3_1aParser::IntegerAtomType_TimeContext * ctx) override { addVObject (ctx, VObjectType::slIntegerAtomType_Time); } + virtual void enterIntVec_TypeBit(SV3_1aParser::IntVec_TypeBitContext * /*ctx*/) override { } + virtual void exitIntVec_TypeBit(SV3_1aParser::IntVec_TypeBitContext * ctx) override { addVObject (ctx, VObjectType::slIntVec_TypeBit); } + virtual void enterIntVec_TypeLogic(SV3_1aParser::IntVec_TypeLogicContext * /*ctx*/) override { } + virtual void exitIntVec_TypeLogic(SV3_1aParser::IntVec_TypeLogicContext * ctx) override { addVObject (ctx, VObjectType::slIntVec_TypeLogic); } + virtual void enterIntVec_TypeReg(SV3_1aParser::IntVec_TypeRegContext * /*ctx*/) override { } + virtual void exitIntVec_TypeReg(SV3_1aParser::IntVec_TypeRegContext * ctx) override { addVObject (ctx, VObjectType::slIntVec_TypeReg); } + virtual void enterNonIntType_ShortReal(SV3_1aParser::NonIntType_ShortRealContext * /*ctx*/) override { } + virtual void exitNonIntType_ShortReal(SV3_1aParser::NonIntType_ShortRealContext * ctx) override { addVObject (ctx, VObjectType::slNonIntType_ShortReal); } + virtual void enterNonIntType_Real(SV3_1aParser::NonIntType_RealContext * /*ctx*/) override { } + virtual void exitNonIntType_Real(SV3_1aParser::NonIntType_RealContext * ctx) override { addVObject (ctx, VObjectType::slNonIntType_Real); } + virtual void enterNonIntType_RealTime(SV3_1aParser::NonIntType_RealTimeContext * /*ctx*/) override { } + virtual void exitNonIntType_RealTime(SV3_1aParser::NonIntType_RealTimeContext * ctx) override { addVObject (ctx, VObjectType::slNonIntType_RealTime); } + virtual void enterNetType_Supply0(SV3_1aParser::NetType_Supply0Context * /*ctx*/) override { } + virtual void exitNetType_Supply0(SV3_1aParser::NetType_Supply0Context * ctx) override { addVObject (ctx, VObjectType::slNetType_Supply0); } + virtual void enterNetType_Supply1(SV3_1aParser::NetType_Supply1Context * /*ctx*/) override { } + virtual void exitNetType_Supply1(SV3_1aParser::NetType_Supply1Context * ctx) override { addVObject (ctx, VObjectType::slNetType_Supply1); } + virtual void enterNetType_Tri(SV3_1aParser::NetType_TriContext * /*ctx*/) override { } + virtual void exitNetType_Tri(SV3_1aParser::NetType_TriContext * ctx) override { addVObject (ctx, VObjectType::slNetType_Tri); } + virtual void enterNetType_TriAnd(SV3_1aParser::NetType_TriAndContext * /*ctx*/) override { } + virtual void exitNetType_TriAnd(SV3_1aParser::NetType_TriAndContext * ctx) override { addVObject (ctx, VObjectType::slNetType_TriAnd); } + virtual void enterNetType_TriOr(SV3_1aParser::NetType_TriOrContext * /*ctx*/) override { } + virtual void exitNetType_TriOr(SV3_1aParser::NetType_TriOrContext * ctx) override { addVObject (ctx, VObjectType::slNetType_TriOr); } + virtual void enterNetType_TriReg(SV3_1aParser::NetType_TriRegContext * /*ctx*/) override { } + virtual void exitNetType_TriReg(SV3_1aParser::NetType_TriRegContext * ctx) override { addVObject (ctx, VObjectType::slNetType_TriReg); } + virtual void enterNetType_Tri0(SV3_1aParser::NetType_Tri0Context * /*ctx*/) override { } + virtual void exitNetType_Tri0(SV3_1aParser::NetType_Tri0Context * ctx) override { addVObject (ctx, VObjectType::slNetType_Tri0); } + virtual void enterNetType_Tri1(SV3_1aParser::NetType_Tri1Context * /*ctx*/) override { } + virtual void exitNetType_Tri1(SV3_1aParser::NetType_Tri1Context * ctx) override { addVObject (ctx, VObjectType::slNetType_Tri1); } + virtual void enterNetType_Uwire(SV3_1aParser::NetType_UwireContext * /*ctx*/) override { } + virtual void exitNetType_Uwire(SV3_1aParser::NetType_UwireContext * ctx) override { addVObject (ctx, VObjectType::slNetType_Uwire); } + virtual void enterNetType_Wire(SV3_1aParser::NetType_WireContext * /*ctx*/) override { } + virtual void exitNetType_Wire(SV3_1aParser::NetType_WireContext * ctx) override { addVObject (ctx, VObjectType::slNetType_Wire); } + virtual void enterNetType_Wand(SV3_1aParser::NetType_WandContext * /*ctx*/) override { } + virtual void exitNetType_Wand(SV3_1aParser::NetType_WandContext * ctx) override { addVObject (ctx, VObjectType::slNetType_Wand); } + virtual void enterNetType_Wor(SV3_1aParser::NetType_WorContext * /*ctx*/) override { } + virtual void exitNetType_Wor(SV3_1aParser::NetType_WorContext * ctx) override { addVObject (ctx, VObjectType::slNetType_Wor); } + virtual void enterNet_port_type(SV3_1aParser::Net_port_typeContext * /*ctx*/) override { } + virtual void exitNet_port_type(SV3_1aParser::Net_port_typeContext * ctx) override { addVObject (ctx, VObjectType::slNet_port_type); } + virtual void enterVariable_port_type(SV3_1aParser::Variable_port_typeContext * /*ctx*/) override { } + virtual void exitVariable_port_type(SV3_1aParser::Variable_port_typeContext * ctx) override { addVObject (ctx, VObjectType::slVariable_port_type); } + virtual void enterVar_data_type(SV3_1aParser::Var_data_typeContext * /*ctx*/) override { } + virtual void exitVar_data_type(SV3_1aParser::Var_data_typeContext * ctx) override { addVObject (ctx, VObjectType::slVar_data_type); } + virtual void enterSigning_Signed(SV3_1aParser::Signing_SignedContext * /*ctx*/) override { } + virtual void exitSigning_Signed(SV3_1aParser::Signing_SignedContext * ctx) override { addVObject (ctx, VObjectType::slSigning_Signed); } + virtual void enterSigning_Unsigned(SV3_1aParser::Signing_UnsignedContext * /*ctx*/) override { } + virtual void exitSigning_Unsigned(SV3_1aParser::Signing_UnsignedContext * ctx) override { addVObject (ctx, VObjectType::slSigning_Unsigned); } + virtual void enterSimple_type(SV3_1aParser::Simple_typeContext * /*ctx*/) override { } + virtual void exitSimple_type(SV3_1aParser::Simple_typeContext * ctx) override { addVObject (ctx, VObjectType::slSimple_type); } + virtual void enterRandomQualifier_Rand(SV3_1aParser::RandomQualifier_RandContext * /*ctx*/) override { } + virtual void exitRandomQualifier_Rand(SV3_1aParser::RandomQualifier_RandContext * ctx) override { addVObject (ctx, VObjectType::slRandomQualifier_Rand); } + virtual void enterRandomQualifier_RandC(SV3_1aParser::RandomQualifier_RandCContext * /*ctx*/) override { } + virtual void exitRandomQualifier_RandC(SV3_1aParser::RandomQualifier_RandCContext * ctx) override { addVObject (ctx, VObjectType::slRandomQualifier_RandC); } + virtual void enterStruct_union_member(SV3_1aParser::Struct_union_memberContext * /*ctx*/) override { } + virtual void exitStruct_union_member(SV3_1aParser::Struct_union_memberContext * ctx) override { addVObject (ctx, VObjectType::slStruct_union_member); } + virtual void enterData_type_or_void(SV3_1aParser::Data_type_or_voidContext * /*ctx*/) override { } + virtual void exitData_type_or_void(SV3_1aParser::Data_type_or_voidContext * ctx) override { addVObject (ctx, VObjectType::slData_type_or_void); } + virtual void enterStruct_union(SV3_1aParser::Struct_unionContext * /*ctx*/) override { } + virtual void exitStruct_union(SV3_1aParser::Struct_unionContext * ctx) override { addVObject (ctx, VObjectType::slStruct_union); } + virtual void enterTagged_keyword(SV3_1aParser::Tagged_keywordContext * /*ctx*/) override { } + virtual void exitTagged_keyword(SV3_1aParser::Tagged_keywordContext * ctx) override { addVObject (ctx, VObjectType::slTagged_keyword); } + virtual void enterType_reference(SV3_1aParser::Type_referenceContext * /*ctx*/) override { } + virtual void exitType_reference(SV3_1aParser::Type_referenceContext * ctx) override { addVObject (ctx, VObjectType::slType_reference); } + virtual void enterDrive_strength(SV3_1aParser::Drive_strengthContext * /*ctx*/) override { } + virtual void exitDrive_strength(SV3_1aParser::Drive_strengthContext * ctx) override { addVObject (ctx, VObjectType::slDrive_strength); } + virtual void enterStrength0_Supply0(SV3_1aParser::Strength0_Supply0Context * /*ctx*/) override { } + virtual void exitStrength0_Supply0(SV3_1aParser::Strength0_Supply0Context * ctx) override { addVObject (ctx, VObjectType::slStrength0_Supply0); } + virtual void enterStrength0_Strong0(SV3_1aParser::Strength0_Strong0Context * /*ctx*/) override { } + virtual void exitStrength0_Strong0(SV3_1aParser::Strength0_Strong0Context * ctx) override { addVObject (ctx, VObjectType::slStrength0_Strong0); } + virtual void enterStrength0_Pull0(SV3_1aParser::Strength0_Pull0Context * /*ctx*/) override { } + virtual void exitStrength0_Pull0(SV3_1aParser::Strength0_Pull0Context * ctx) override { addVObject (ctx, VObjectType::slStrength0_Pull0); } + virtual void enterStrength0_Weak0(SV3_1aParser::Strength0_Weak0Context * /*ctx*/) override { } + virtual void exitStrength0_Weak0(SV3_1aParser::Strength0_Weak0Context * ctx) override { addVObject (ctx, VObjectType::slStrength0_Weak0); } + virtual void enterStrength1_Supply1(SV3_1aParser::Strength1_Supply1Context * /*ctx*/) override { } + virtual void exitStrength1_Supply1(SV3_1aParser::Strength1_Supply1Context * ctx) override { addVObject (ctx, VObjectType::slStrength1_Supply1); } + virtual void enterStrength1_Strong1(SV3_1aParser::Strength1_Strong1Context * /*ctx*/) override { } + virtual void exitStrength1_Strong1(SV3_1aParser::Strength1_Strong1Context * ctx) override { addVObject (ctx, VObjectType::slStrength1_Strong1); } + virtual void enterStrength1_Pull1(SV3_1aParser::Strength1_Pull1Context * /*ctx*/) override { } + virtual void exitStrength1_Pull1(SV3_1aParser::Strength1_Pull1Context * ctx) override { addVObject (ctx, VObjectType::slStrength1_Pull1); } + virtual void enterStrength1_Weak1(SV3_1aParser::Strength1_Weak1Context * /*ctx*/) override { } + virtual void exitStrength1_Weak1(SV3_1aParser::Strength1_Weak1Context * ctx) override { addVObject (ctx, VObjectType::slStrength1_Weak1); } + virtual void enterChargeStrength_Small(SV3_1aParser::ChargeStrength_SmallContext * /*ctx*/) override { } + virtual void exitChargeStrength_Small(SV3_1aParser::ChargeStrength_SmallContext * ctx) override { addVObject (ctx, VObjectType::slChargeStrength_Small); } + virtual void enterChargeStrength_Medium(SV3_1aParser::ChargeStrength_MediumContext * /*ctx*/) override { } + virtual void exitChargeStrength_Medium(SV3_1aParser::ChargeStrength_MediumContext * ctx) override { addVObject (ctx, VObjectType::slChargeStrength_Medium); } + virtual void enterChargeStrength_Large(SV3_1aParser::ChargeStrength_LargeContext * /*ctx*/) override { } + virtual void exitChargeStrength_Large(SV3_1aParser::ChargeStrength_LargeContext * ctx) override { addVObject (ctx, VObjectType::slChargeStrength_Large); } + virtual void enterDelay3(SV3_1aParser::Delay3Context * /*ctx*/) override { } + virtual void exitDelay3(SV3_1aParser::Delay3Context * ctx) override { addVObject (ctx, VObjectType::slDelay3); } + virtual void enterDelay2(SV3_1aParser::Delay2Context * /*ctx*/) override { } + virtual void exitDelay2(SV3_1aParser::Delay2Context * ctx) override { addVObject (ctx, VObjectType::slDelay2); } + virtual void enterPound_delay_value(SV3_1aParser::Pound_delay_valueContext * /*ctx*/) override { } + virtual void exitPound_delay_value(SV3_1aParser::Pound_delay_valueContext * ctx) override { addVObject (ctx, VObjectType::slPound_delay_value); } + virtual void enterDelay_value(SV3_1aParser::Delay_valueContext * /*ctx*/) override { } + virtual void exitDelay_value(SV3_1aParser::Delay_valueContext * ctx) override { addVObject (ctx, VObjectType::slDelay_value); } + virtual void enterList_of_defparam_assignments(SV3_1aParser::List_of_defparam_assignmentsContext * /*ctx*/) override { } + virtual void exitList_of_defparam_assignments(SV3_1aParser::List_of_defparam_assignmentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_defparam_assignments); } + virtual void enterList_of_interface_identifiers(SV3_1aParser::List_of_interface_identifiersContext * /*ctx*/) override { } + virtual void exitList_of_interface_identifiers(SV3_1aParser::List_of_interface_identifiersContext * ctx) override { addVObject (ctx, VObjectType::slList_of_interface_identifiers); } + virtual void enterList_of_net_decl_assignments(SV3_1aParser::List_of_net_decl_assignmentsContext * /*ctx*/) override { } + virtual void exitList_of_net_decl_assignments(SV3_1aParser::List_of_net_decl_assignmentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_net_decl_assignments); } + virtual void enterList_of_param_assignments(SV3_1aParser::List_of_param_assignmentsContext * /*ctx*/) override { } + virtual void exitList_of_param_assignments(SV3_1aParser::List_of_param_assignmentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_param_assignments); } + virtual void enterList_of_port_identifiers(SV3_1aParser::List_of_port_identifiersContext * /*ctx*/) override { } + virtual void exitList_of_port_identifiers(SV3_1aParser::List_of_port_identifiersContext * ctx) override { addVObject (ctx, VObjectType::slList_of_port_identifiers); } + virtual void enterList_of_specparam_assignments(SV3_1aParser::List_of_specparam_assignmentsContext * /*ctx*/) override { } + virtual void exitList_of_specparam_assignments(SV3_1aParser::List_of_specparam_assignmentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_specparam_assignments); } + virtual void enterList_of_tf_variable_identifiers(SV3_1aParser::List_of_tf_variable_identifiersContext * /*ctx*/) override { } + virtual void exitList_of_tf_variable_identifiers(SV3_1aParser::List_of_tf_variable_identifiersContext * ctx) override { addVObject (ctx, VObjectType::slList_of_tf_variable_identifiers); } + virtual void enterList_of_type_assignments(SV3_1aParser::List_of_type_assignmentsContext * /*ctx*/) override { } + virtual void exitList_of_type_assignments(SV3_1aParser::List_of_type_assignmentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_type_assignments); } + virtual void enterList_of_variable_decl_assignments(SV3_1aParser::List_of_variable_decl_assignmentsContext * /*ctx*/) override { } + virtual void exitList_of_variable_decl_assignments(SV3_1aParser::List_of_variable_decl_assignmentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_variable_decl_assignments); } + virtual void enterList_of_variable_identifiers(SV3_1aParser::List_of_variable_identifiersContext * /*ctx*/) override { } + virtual void exitList_of_variable_identifiers(SV3_1aParser::List_of_variable_identifiersContext * ctx) override { addVObject (ctx, VObjectType::slList_of_variable_identifiers); } + virtual void enterList_of_variable_port_identifiers(SV3_1aParser::List_of_variable_port_identifiersContext * /*ctx*/) override { } + virtual void exitList_of_variable_port_identifiers(SV3_1aParser::List_of_variable_port_identifiersContext * ctx) override { addVObject (ctx, VObjectType::slList_of_variable_port_identifiers); } + virtual void enterList_of_virtual_interface_decl(SV3_1aParser::List_of_virtual_interface_declContext * /*ctx*/) override { } + virtual void exitList_of_virtual_interface_decl(SV3_1aParser::List_of_virtual_interface_declContext * ctx) override { addVObject (ctx, VObjectType::slList_of_virtual_interface_decl); } + virtual void enterDefparam_assignment(SV3_1aParser::Defparam_assignmentContext * /*ctx*/) override { } + virtual void exitDefparam_assignment(SV3_1aParser::Defparam_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slDefparam_assignment); } + virtual void enterNet_decl_assignment(SV3_1aParser::Net_decl_assignmentContext * /*ctx*/) override { } + virtual void exitNet_decl_assignment(SV3_1aParser::Net_decl_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slNet_decl_assignment); } + virtual void enterParam_assignment(SV3_1aParser::Param_assignmentContext * /*ctx*/) override { } + virtual void exitParam_assignment(SV3_1aParser::Param_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slParam_assignment); } + virtual void enterSpecparam_assignment(SV3_1aParser::Specparam_assignmentContext * /*ctx*/) override { } + virtual void exitSpecparam_assignment(SV3_1aParser::Specparam_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slSpecparam_assignment); } + virtual void enterPulse_control_specparam(SV3_1aParser::Pulse_control_specparamContext * /*ctx*/) override { } + virtual void exitPulse_control_specparam(SV3_1aParser::Pulse_control_specparamContext * ctx) override { addVObject (ctx, VObjectType::slPulse_control_specparam); } + virtual void enterVariable_decl_assignment(SV3_1aParser::Variable_decl_assignmentContext * /*ctx*/) override { } + virtual void exitVariable_decl_assignment(SV3_1aParser::Variable_decl_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slVariable_decl_assignment); } + virtual void enterClass_new(SV3_1aParser::Class_newContext * /*ctx*/) override { } + virtual void exitClass_new(SV3_1aParser::Class_newContext * ctx) override { addVObject (ctx, VObjectType::slClass_new); } + virtual void enterDynamic_array_new(SV3_1aParser::Dynamic_array_newContext * /*ctx*/) override { } + virtual void exitDynamic_array_new(SV3_1aParser::Dynamic_array_newContext * ctx) override { addVObject (ctx, VObjectType::slDynamic_array_new); } + virtual void enterUnpacked_dimension(SV3_1aParser::Unpacked_dimensionContext * /*ctx*/) override { } + virtual void exitUnpacked_dimension(SV3_1aParser::Unpacked_dimensionContext * ctx) override { addVObject (ctx, VObjectType::slUnpacked_dimension); } + virtual void enterPacked_dimension(SV3_1aParser::Packed_dimensionContext * /*ctx*/) override { } + virtual void exitPacked_dimension(SV3_1aParser::Packed_dimensionContext * ctx) override { addVObject (ctx, VObjectType::slPacked_dimension); } + virtual void enterAssociative_dimension(SV3_1aParser::Associative_dimensionContext * /*ctx*/) override { } + virtual void exitAssociative_dimension(SV3_1aParser::Associative_dimensionContext * ctx) override { addVObject (ctx, VObjectType::slAssociative_dimension); } + virtual void enterVariable_dimension(SV3_1aParser::Variable_dimensionContext * /*ctx*/) override { } + virtual void exitVariable_dimension(SV3_1aParser::Variable_dimensionContext * ctx) override { addVObject (ctx, VObjectType::slVariable_dimension); } + virtual void enterQueue_dimension(SV3_1aParser::Queue_dimensionContext * /*ctx*/) override { } + virtual void exitQueue_dimension(SV3_1aParser::Queue_dimensionContext * ctx) override { addVObject (ctx, VObjectType::slQueue_dimension); } + virtual void enterUnsized_dimension(SV3_1aParser::Unsized_dimensionContext * /*ctx*/) override { } + virtual void exitUnsized_dimension(SV3_1aParser::Unsized_dimensionContext * ctx) override { addVObject (ctx, VObjectType::slUnsized_dimension); } + virtual void enterFunction_data_type(SV3_1aParser::Function_data_typeContext * /*ctx*/) override { } + virtual void exitFunction_data_type(SV3_1aParser::Function_data_typeContext * ctx) override { addVObject (ctx, VObjectType::slFunction_data_type); } + virtual void enterFunction_data_type_or_implicit(SV3_1aParser::Function_data_type_or_implicitContext * /*ctx*/) override { } + virtual void exitFunction_data_type_or_implicit(SV3_1aParser::Function_data_type_or_implicitContext * ctx) override { addVObject (ctx, VObjectType::slFunction_data_type_or_implicit); } + virtual void enterFunction_declaration(SV3_1aParser::Function_declarationContext * /*ctx*/) override { } + virtual void exitFunction_declaration(SV3_1aParser::Function_declarationContext * ctx) override { addVObject (ctx, VObjectType::slFunction_declaration); } + virtual void enterEndfunction(SV3_1aParser::EndfunctionContext * /*ctx*/) override { } + virtual void exitEndfunction(SV3_1aParser::EndfunctionContext * ctx) override { addVObject (ctx, VObjectType::slEndfunction); } + virtual void enterFunction_body_declaration(SV3_1aParser::Function_body_declarationContext * /*ctx*/) override { } + virtual void exitFunction_body_declaration(SV3_1aParser::Function_body_declarationContext * ctx) override { addVObject (ctx, VObjectType::slFunction_body_declaration); } + virtual void enterFunction_prototype(SV3_1aParser::Function_prototypeContext * /*ctx*/) override { } + virtual void exitFunction_prototype(SV3_1aParser::Function_prototypeContext * ctx) override { addVObject (ctx, VObjectType::slFunction_prototype); } + virtual void enterDpi_import_export(SV3_1aParser::Dpi_import_exportContext * /*ctx*/) override { } + virtual void exitDpi_import_export(SV3_1aParser::Dpi_import_exportContext * ctx) override { addVObject (ctx, VObjectType::slDpi_import_export); } + virtual void enterContext_keyword(SV3_1aParser::Context_keywordContext * /*ctx*/) override { } + virtual void exitContext_keyword(SV3_1aParser::Context_keywordContext * ctx) override { addVObject (ctx, VObjectType::slContext_keyword); } + virtual void enterFunction_name_decl(SV3_1aParser::Function_name_declContext * /*ctx*/) override { } + virtual void exitFunction_name_decl(SV3_1aParser::Function_name_declContext * ctx) override { addVObject (ctx, VObjectType::slFunction_name_decl); } + virtual void enterTask_name_decl(SV3_1aParser::Task_name_declContext * /*ctx*/) override { } + virtual void exitTask_name_decl(SV3_1aParser::Task_name_declContext * ctx) override { addVObject (ctx, VObjectType::slTask_name_decl); } + virtual void enterPure_keyword(SV3_1aParser::Pure_keywordContext * /*ctx*/) override { } + virtual void exitPure_keyword(SV3_1aParser::Pure_keywordContext * ctx) override { addVObject (ctx, VObjectType::slPure_keyword); } + virtual void enterTask_declaration(SV3_1aParser::Task_declarationContext * /*ctx*/) override { } + virtual void exitTask_declaration(SV3_1aParser::Task_declarationContext * ctx) override { addVObject (ctx, VObjectType::slTask_declaration); } + virtual void enterEndtask(SV3_1aParser::EndtaskContext * /*ctx*/) override { } + virtual void exitEndtask(SV3_1aParser::EndtaskContext * ctx) override { addVObject (ctx, VObjectType::slEndtask); } + virtual void enterTask_body_declaration(SV3_1aParser::Task_body_declarationContext * /*ctx*/) override { } + virtual void exitTask_body_declaration(SV3_1aParser::Task_body_declarationContext * ctx) override { addVObject (ctx, VObjectType::slTask_body_declaration); } + virtual void enterTf_item_declaration(SV3_1aParser::Tf_item_declarationContext * /*ctx*/) override { } + virtual void exitTf_item_declaration(SV3_1aParser::Tf_item_declarationContext * ctx) override { addVObject (ctx, VObjectType::slTf_item_declaration); } + virtual void enterTf_port_list(SV3_1aParser::Tf_port_listContext * /*ctx*/) override { } + virtual void exitTf_port_list(SV3_1aParser::Tf_port_listContext * ctx) override { addVObject (ctx, VObjectType::slTf_port_list); } + virtual void enterTf_port_item(SV3_1aParser::Tf_port_itemContext * /*ctx*/) override { } + virtual void exitTf_port_item(SV3_1aParser::Tf_port_itemContext * ctx) override { addVObject (ctx, VObjectType::slTf_port_item); } + virtual void enterTfPortDir_Inp(SV3_1aParser::TfPortDir_InpContext * /*ctx*/) override { } + virtual void exitTfPortDir_Inp(SV3_1aParser::TfPortDir_InpContext * ctx) override { addVObject (ctx, VObjectType::slTfPortDir_Inp); } + virtual void enterTfPortDir_Out(SV3_1aParser::TfPortDir_OutContext * /*ctx*/) override { } + virtual void exitTfPortDir_Out(SV3_1aParser::TfPortDir_OutContext * ctx) override { addVObject (ctx, VObjectType::slTfPortDir_Out); } + virtual void enterTfPortDir_Inout(SV3_1aParser::TfPortDir_InoutContext * /*ctx*/) override { } + virtual void exitTfPortDir_Inout(SV3_1aParser::TfPortDir_InoutContext * ctx) override { addVObject (ctx, VObjectType::slTfPortDir_Inout); } + virtual void enterTfPortDir_Ref(SV3_1aParser::TfPortDir_RefContext * /*ctx*/) override { } + virtual void exitTfPortDir_Ref(SV3_1aParser::TfPortDir_RefContext * ctx) override { addVObject (ctx, VObjectType::slTfPortDir_Ref); } + virtual void enterTfPortDir_ConstRef(SV3_1aParser::TfPortDir_ConstRefContext * /*ctx*/) override { } + virtual void exitTfPortDir_ConstRef(SV3_1aParser::TfPortDir_ConstRefContext * ctx) override { addVObject (ctx, VObjectType::slTfPortDir_ConstRef); } + virtual void enterTf_port_declaration(SV3_1aParser::Tf_port_declarationContext * /*ctx*/) override { } + virtual void exitTf_port_declaration(SV3_1aParser::Tf_port_declarationContext * ctx) override { addVObject (ctx, VObjectType::slTf_port_declaration); } + virtual void enterTask_prototype(SV3_1aParser::Task_prototypeContext * /*ctx*/) override { } + virtual void exitTask_prototype(SV3_1aParser::Task_prototypeContext * ctx) override { addVObject (ctx, VObjectType::slTask_prototype); } + virtual void enterBlock_item_declaration(SV3_1aParser::Block_item_declarationContext * /*ctx*/) override { } + virtual void exitBlock_item_declaration(SV3_1aParser::Block_item_declarationContext * ctx) override { addVObject (ctx, VObjectType::slBlock_item_declaration); } + virtual void enterOverload_declaration(SV3_1aParser::Overload_declarationContext * /*ctx*/) override { } + virtual void exitOverload_declaration(SV3_1aParser::Overload_declarationContext * ctx) override { addVObject (ctx, VObjectType::slOverload_declaration); } + virtual void enterOverloadOp_Plus(SV3_1aParser::OverloadOp_PlusContext * /*ctx*/) override { } + virtual void exitOverloadOp_Plus(SV3_1aParser::OverloadOp_PlusContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_Plus); } + virtual void enterOverloadOp_PlusPlus(SV3_1aParser::OverloadOp_PlusPlusContext * /*ctx*/) override { } + virtual void exitOverloadOp_PlusPlus(SV3_1aParser::OverloadOp_PlusPlusContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_PlusPlus); } + virtual void enterOverloadOp_Minus(SV3_1aParser::OverloadOp_MinusContext * /*ctx*/) override { } + virtual void exitOverloadOp_Minus(SV3_1aParser::OverloadOp_MinusContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_Minus); } + virtual void enterOverloadOp_MinusMinus(SV3_1aParser::OverloadOp_MinusMinusContext * /*ctx*/) override { } + virtual void exitOverloadOp_MinusMinus(SV3_1aParser::OverloadOp_MinusMinusContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_MinusMinus); } + virtual void enterOverloadOp_Mult(SV3_1aParser::OverloadOp_MultContext * /*ctx*/) override { } + virtual void exitOverloadOp_Mult(SV3_1aParser::OverloadOp_MultContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_Mult); } + virtual void enterOverloadOp_StarStar(SV3_1aParser::OverloadOp_StarStarContext * /*ctx*/) override { } + virtual void exitOverloadOp_StarStar(SV3_1aParser::OverloadOp_StarStarContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_StarStar); } + virtual void enterOverloadOp_Div(SV3_1aParser::OverloadOp_DivContext * /*ctx*/) override { } + virtual void exitOverloadOp_Div(SV3_1aParser::OverloadOp_DivContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_Div); } + virtual void enterOverloadOp_Percent(SV3_1aParser::OverloadOp_PercentContext * /*ctx*/) override { } + virtual void exitOverloadOp_Percent(SV3_1aParser::OverloadOp_PercentContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_Percent); } + virtual void enterOverloadOp_Equiv(SV3_1aParser::OverloadOp_EquivContext * /*ctx*/) override { } + virtual void exitOverloadOp_Equiv(SV3_1aParser::OverloadOp_EquivContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_Equiv); } + virtual void enterOverloadOp_NotEqual(SV3_1aParser::OverloadOp_NotEqualContext * /*ctx*/) override { } + virtual void exitOverloadOp_NotEqual(SV3_1aParser::OverloadOp_NotEqualContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_NotEqual); } + virtual void enterOverloadOp_Less(SV3_1aParser::OverloadOp_LessContext * /*ctx*/) override { } + virtual void exitOverloadOp_Less(SV3_1aParser::OverloadOp_LessContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_Less); } + virtual void enterOverloadOp_LessEqual(SV3_1aParser::OverloadOp_LessEqualContext * /*ctx*/) override { } + virtual void exitOverloadOp_LessEqual(SV3_1aParser::OverloadOp_LessEqualContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_LessEqual); } + virtual void enterOverloadOp_Greater(SV3_1aParser::OverloadOp_GreaterContext * /*ctx*/) override { } + virtual void exitOverloadOp_Greater(SV3_1aParser::OverloadOp_GreaterContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_Greater); } + virtual void enterOverloadOp_GreaterEqual(SV3_1aParser::OverloadOp_GreaterEqualContext * /*ctx*/) override { } + virtual void exitOverloadOp_GreaterEqual(SV3_1aParser::OverloadOp_GreaterEqualContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_GreaterEqual); } + virtual void enterOverloadOp_Equal(SV3_1aParser::OverloadOp_EqualContext * /*ctx*/) override { } + virtual void exitOverloadOp_Equal(SV3_1aParser::OverloadOp_EqualContext * ctx) override { addVObject (ctx, VObjectType::slOverloadOp_Equal); } + virtual void enterOverload_proto_formals(SV3_1aParser::Overload_proto_formalsContext * /*ctx*/) override { } + virtual void exitOverload_proto_formals(SV3_1aParser::Overload_proto_formalsContext * ctx) override { addVObject (ctx, VObjectType::slOverload_proto_formals); } + virtual void enterVirtual_interface_declaration(SV3_1aParser::Virtual_interface_declarationContext * /*ctx*/) override { } + virtual void exitVirtual_interface_declaration(SV3_1aParser::Virtual_interface_declarationContext * ctx) override { addVObject (ctx, VObjectType::slVirtual_interface_declaration); } + virtual void enterModport_item(SV3_1aParser::Modport_itemContext * /*ctx*/) override { } + virtual void exitModport_item(SV3_1aParser::Modport_itemContext * ctx) override { addVObject (ctx, VObjectType::slModport_item); } + virtual void enterModport_ports_declaration(SV3_1aParser::Modport_ports_declarationContext * /*ctx*/) override { } + virtual void exitModport_ports_declaration(SV3_1aParser::Modport_ports_declarationContext * ctx) override { addVObject (ctx, VObjectType::slModport_ports_declaration); } + virtual void enterModport_simple_ports_declaration(SV3_1aParser::Modport_simple_ports_declarationContext * /*ctx*/) override { } + virtual void exitModport_simple_ports_declaration(SV3_1aParser::Modport_simple_ports_declarationContext * ctx) override { addVObject (ctx, VObjectType::slModport_simple_ports_declaration); } + virtual void enterModport_simple_port(SV3_1aParser::Modport_simple_portContext * /*ctx*/) override { } + virtual void exitModport_simple_port(SV3_1aParser::Modport_simple_portContext * ctx) override { addVObject (ctx, VObjectType::slModport_simple_port); } + virtual void enterModport_hierarchical_ports_declaration(SV3_1aParser::Modport_hierarchical_ports_declarationContext * /*ctx*/) override { } + virtual void exitModport_hierarchical_ports_declaration(SV3_1aParser::Modport_hierarchical_ports_declarationContext * ctx) override { addVObject (ctx, VObjectType::slModport_hierarchical_ports_declaration); } + virtual void enterModport_tf_ports_declaration(SV3_1aParser::Modport_tf_ports_declarationContext * /*ctx*/) override { } + virtual void exitModport_tf_ports_declaration(SV3_1aParser::Modport_tf_ports_declarationContext * ctx) override { addVObject (ctx, VObjectType::slModport_tf_ports_declaration); } + virtual void enterModport_tf_port(SV3_1aParser::Modport_tf_portContext * /*ctx*/) override { } + virtual void exitModport_tf_port(SV3_1aParser::Modport_tf_portContext * ctx) override { addVObject (ctx, VObjectType::slModport_tf_port); } + virtual void enterConcurrent_assertion_item(SV3_1aParser::Concurrent_assertion_itemContext * /*ctx*/) override { } + virtual void exitConcurrent_assertion_item(SV3_1aParser::Concurrent_assertion_itemContext * ctx) override { addVObject (ctx, VObjectType::slConcurrent_assertion_item); } + virtual void enterConcurrent_assertion_statement(SV3_1aParser::Concurrent_assertion_statementContext * /*ctx*/) override { } + virtual void exitConcurrent_assertion_statement(SV3_1aParser::Concurrent_assertion_statementContext * ctx) override { addVObject (ctx, VObjectType::slConcurrent_assertion_statement); } + virtual void enterAssert_property_statement(SV3_1aParser::Assert_property_statementContext * /*ctx*/) override { } + virtual void exitAssert_property_statement(SV3_1aParser::Assert_property_statementContext * ctx) override { addVObject (ctx, VObjectType::slAssert_property_statement); } + virtual void enterAssume_property_statement(SV3_1aParser::Assume_property_statementContext * /*ctx*/) override { } + virtual void exitAssume_property_statement(SV3_1aParser::Assume_property_statementContext * ctx) override { addVObject (ctx, VObjectType::slAssume_property_statement); } + virtual void enterCover_property_statement(SV3_1aParser::Cover_property_statementContext * /*ctx*/) override { } + virtual void exitCover_property_statement(SV3_1aParser::Cover_property_statementContext * ctx) override { addVObject (ctx, VObjectType::slCover_property_statement); } + virtual void enterExpect_property_statement(SV3_1aParser::Expect_property_statementContext * /*ctx*/) override { } + virtual void exitExpect_property_statement(SV3_1aParser::Expect_property_statementContext * ctx) override { addVObject (ctx, VObjectType::slExpect_property_statement); } + virtual void enterCover_sequence_statement(SV3_1aParser::Cover_sequence_statementContext * /*ctx*/) override { } + virtual void exitCover_sequence_statement(SV3_1aParser::Cover_sequence_statementContext * ctx) override { addVObject (ctx, VObjectType::slCover_sequence_statement); } + virtual void enterRestrict_property_statement(SV3_1aParser::Restrict_property_statementContext * /*ctx*/) override { } + virtual void exitRestrict_property_statement(SV3_1aParser::Restrict_property_statementContext * ctx) override { addVObject (ctx, VObjectType::slRestrict_property_statement); } + virtual void enterProperty_instance(SV3_1aParser::Property_instanceContext * /*ctx*/) override { } + virtual void exitProperty_instance(SV3_1aParser::Property_instanceContext * ctx) override { addVObject (ctx, VObjectType::slProperty_instance); } + virtual void enterProperty_actual_arg(SV3_1aParser::Property_actual_argContext * /*ctx*/) override { } + virtual void exitProperty_actual_arg(SV3_1aParser::Property_actual_argContext * ctx) override { addVObject (ctx, VObjectType::slProperty_actual_arg); } + virtual void enterConcurrent_assertion_item_declaration(SV3_1aParser::Concurrent_assertion_item_declarationContext * /*ctx*/) override { } + virtual void exitConcurrent_assertion_item_declaration(SV3_1aParser::Concurrent_assertion_item_declarationContext * ctx) override { addVObject (ctx, VObjectType::slConcurrent_assertion_item_declaration); } + virtual void enterAssertion_item_declaration(SV3_1aParser::Assertion_item_declarationContext * /*ctx*/) override { } + virtual void exitAssertion_item_declaration(SV3_1aParser::Assertion_item_declarationContext * ctx) override { addVObject (ctx, VObjectType::slAssertion_item_declaration); } + virtual void enterEndproperty(SV3_1aParser::EndpropertyContext * /*ctx*/) override { } + virtual void exitEndproperty(SV3_1aParser::EndpropertyContext * ctx) override { addVObject (ctx, VObjectType::slEndproperty); } + virtual void enterProperty_declaration(SV3_1aParser::Property_declarationContext * /*ctx*/) override { } + virtual void exitProperty_declaration(SV3_1aParser::Property_declarationContext * ctx) override { addVObject (ctx, VObjectType::slProperty_declaration); } + virtual void enterProperty_formal_type(SV3_1aParser::Property_formal_typeContext * /*ctx*/) override { } + virtual void exitProperty_formal_type(SV3_1aParser::Property_formal_typeContext * ctx) override { addVObject (ctx, VObjectType::slProperty_formal_type); } + virtual void enterProperty_spec(SV3_1aParser::Property_specContext * /*ctx*/) override { } + virtual void exitProperty_spec(SV3_1aParser::Property_specContext * ctx) override { addVObject (ctx, VObjectType::slProperty_spec); } + virtual void enterEndcase(SV3_1aParser::EndcaseContext * /*ctx*/) override { } + virtual void exitEndcase(SV3_1aParser::EndcaseContext * ctx) override { addVObject (ctx, VObjectType::slEndcase); } + virtual void enterProperty_expr(SV3_1aParser::Property_exprContext * /*ctx*/) override { } + virtual void exitProperty_expr(SV3_1aParser::Property_exprContext * ctx) override { addVObject (ctx, VObjectType::slProperty_expr); } + virtual void enterProperty_case_item(SV3_1aParser::Property_case_itemContext * /*ctx*/) override { } + virtual void exitProperty_case_item(SV3_1aParser::Property_case_itemContext * ctx) override { addVObject (ctx, VObjectType::slProperty_case_item); } + virtual void enterEndsequence(SV3_1aParser::EndsequenceContext * /*ctx*/) override { } + virtual void exitEndsequence(SV3_1aParser::EndsequenceContext * ctx) override { addVObject (ctx, VObjectType::slEndsequence); } + virtual void enterSequence_declaration(SV3_1aParser::Sequence_declarationContext * /*ctx*/) override { } + virtual void exitSequence_declaration(SV3_1aParser::Sequence_declarationContext * ctx) override { addVObject (ctx, VObjectType::slSequence_declaration); } + virtual void enterSequence_expr(SV3_1aParser::Sequence_exprContext * /*ctx*/) override { } + virtual void exitSequence_expr(SV3_1aParser::Sequence_exprContext * ctx) override { addVObject (ctx, VObjectType::slSequence_expr); } + virtual void enterCycle_delay_range(SV3_1aParser::Cycle_delay_rangeContext * /*ctx*/) override { } + virtual void exitCycle_delay_range(SV3_1aParser::Cycle_delay_rangeContext * ctx) override { addVObject (ctx, VObjectType::slCycle_delay_range); } + virtual void enterSequence_method_call(SV3_1aParser::Sequence_method_callContext * /*ctx*/) override { } + virtual void exitSequence_method_call(SV3_1aParser::Sequence_method_callContext * ctx) override { addVObject (ctx, VObjectType::slSequence_method_call); } + virtual void enterSequence_match_item(SV3_1aParser::Sequence_match_itemContext * /*ctx*/) override { } + virtual void exitSequence_match_item(SV3_1aParser::Sequence_match_itemContext * ctx) override { addVObject (ctx, VObjectType::slSequence_match_item); } + virtual void enterSeqFormatType_Data(SV3_1aParser::SeqFormatType_DataContext * /*ctx*/) override { } + virtual void exitSeqFormatType_Data(SV3_1aParser::SeqFormatType_DataContext * ctx) override { addVObject (ctx, VObjectType::slSeqFormatType_Data); } + virtual void enterSeqFormatType_Sequence(SV3_1aParser::SeqFormatType_SequenceContext * /*ctx*/) override { } + virtual void exitSeqFormatType_Sequence(SV3_1aParser::SeqFormatType_SequenceContext * ctx) override { addVObject (ctx, VObjectType::slSeqFormatType_Sequence); } + virtual void enterSeqFormatType_Untyped(SV3_1aParser::SeqFormatType_UntypedContext * /*ctx*/) override { } + virtual void exitSeqFormatType_Untyped(SV3_1aParser::SeqFormatType_UntypedContext * ctx) override { addVObject (ctx, VObjectType::slSeqFormatType_Untyped); } + virtual void enterSequence_instance(SV3_1aParser::Sequence_instanceContext * /*ctx*/) override { } + virtual void exitSequence_instance(SV3_1aParser::Sequence_instanceContext * ctx) override { addVObject (ctx, VObjectType::slSequence_instance); } + virtual void enterSequence_list_of_arguments(SV3_1aParser::Sequence_list_of_argumentsContext * /*ctx*/) override { } + virtual void exitSequence_list_of_arguments(SV3_1aParser::Sequence_list_of_argumentsContext * ctx) override { addVObject (ctx, VObjectType::slSequence_list_of_arguments); } + virtual void enterSequence_actual_arg(SV3_1aParser::Sequence_actual_argContext * /*ctx*/) override { } + virtual void exitSequence_actual_arg(SV3_1aParser::Sequence_actual_argContext * ctx) override { addVObject (ctx, VObjectType::slSequence_actual_arg); } + virtual void enterFormal_list_item(SV3_1aParser::Formal_list_itemContext * /*ctx*/) override { } + virtual void exitFormal_list_item(SV3_1aParser::Formal_list_itemContext * ctx) override { addVObject (ctx, VObjectType::slFormal_list_item); } + virtual void enterList_of_formals(SV3_1aParser::List_of_formalsContext * /*ctx*/) override { } + virtual void exitList_of_formals(SV3_1aParser::List_of_formalsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_formals); } + virtual void enterActual_arg_list(SV3_1aParser::Actual_arg_listContext * /*ctx*/) override { } + virtual void exitActual_arg_list(SV3_1aParser::Actual_arg_listContext * ctx) override { addVObject (ctx, VObjectType::slActual_arg_list); } + virtual void enterActual_arg_expr(SV3_1aParser::Actual_arg_exprContext * /*ctx*/) override { } + virtual void exitActual_arg_expr(SV3_1aParser::Actual_arg_exprContext * ctx) override { addVObject (ctx, VObjectType::slActual_arg_expr); } + virtual void enterBoolean_abbrev(SV3_1aParser::Boolean_abbrevContext * /*ctx*/) override { } + virtual void exitBoolean_abbrev(SV3_1aParser::Boolean_abbrevContext * ctx) override { addVObject (ctx, VObjectType::slBoolean_abbrev); } + virtual void enterConsecutive_repetition(SV3_1aParser::Consecutive_repetitionContext * /*ctx*/) override { } + virtual void exitConsecutive_repetition(SV3_1aParser::Consecutive_repetitionContext * ctx) override { addVObject (ctx, VObjectType::slConsecutive_repetition); } + virtual void enterNon_consecutive_repetition(SV3_1aParser::Non_consecutive_repetitionContext * /*ctx*/) override { } + virtual void exitNon_consecutive_repetition(SV3_1aParser::Non_consecutive_repetitionContext * ctx) override { addVObject (ctx, VObjectType::slNon_consecutive_repetition); } + virtual void enterGoto_repetition(SV3_1aParser::Goto_repetitionContext * /*ctx*/) override { } + virtual void exitGoto_repetition(SV3_1aParser::Goto_repetitionContext * ctx) override { addVObject (ctx, VObjectType::slGoto_repetition); } + virtual void enterConst_or_range_expression(SV3_1aParser::Const_or_range_expressionContext * /*ctx*/) override { } + virtual void exitConst_or_range_expression(SV3_1aParser::Const_or_range_expressionContext * ctx) override { addVObject (ctx, VObjectType::slConst_or_range_expression); } + virtual void enterCycle_delay_const_range_expression(SV3_1aParser::Cycle_delay_const_range_expressionContext * /*ctx*/) override { } + virtual void exitCycle_delay_const_range_expression(SV3_1aParser::Cycle_delay_const_range_expressionContext * ctx) override { addVObject (ctx, VObjectType::slCycle_delay_const_range_expression); } + virtual void enterExpression_or_dist(SV3_1aParser::Expression_or_distContext * /*ctx*/) override { } + virtual void exitExpression_or_dist(SV3_1aParser::Expression_or_distContext * ctx) override { addVObject (ctx, VObjectType::slExpression_or_dist); } + virtual void enterAssertion_variable_declaration(SV3_1aParser::Assertion_variable_declarationContext * /*ctx*/) override { } + virtual void exitAssertion_variable_declaration(SV3_1aParser::Assertion_variable_declarationContext * ctx) override { addVObject (ctx, VObjectType::slAssertion_variable_declaration); } + virtual void enterLet_declaration(SV3_1aParser::Let_declarationContext * /*ctx*/) override { } + virtual void exitLet_declaration(SV3_1aParser::Let_declarationContext * ctx) override { addVObject (ctx, VObjectType::slLet_declaration); } + virtual void enterLet_port_list(SV3_1aParser::Let_port_listContext * /*ctx*/) override { } + virtual void exitLet_port_list(SV3_1aParser::Let_port_listContext * ctx) override { addVObject (ctx, VObjectType::slLet_port_list); } + virtual void enterLet_port_item(SV3_1aParser::Let_port_itemContext * /*ctx*/) override { } + virtual void exitLet_port_item(SV3_1aParser::Let_port_itemContext * ctx) override { addVObject (ctx, VObjectType::slLet_port_item); } + virtual void enterLet_formal_type(SV3_1aParser::Let_formal_typeContext * /*ctx*/) override { } + virtual void exitLet_formal_type(SV3_1aParser::Let_formal_typeContext * ctx) override { addVObject (ctx, VObjectType::slLet_formal_type); } + virtual void enterEndgroup(SV3_1aParser::EndgroupContext * /*ctx*/) override { } + virtual void exitEndgroup(SV3_1aParser::EndgroupContext * ctx) override { addVObject (ctx, VObjectType::slEndgroup); } + virtual void enterCovergroup_declaration(SV3_1aParser::Covergroup_declarationContext * /*ctx*/) override { } + virtual void exitCovergroup_declaration(SV3_1aParser::Covergroup_declarationContext * ctx) override { addVObject (ctx, VObjectType::slCovergroup_declaration); } + virtual void enterCoverage_spec_or_option(SV3_1aParser::Coverage_spec_or_optionContext * /*ctx*/) override { } + virtual void exitCoverage_spec_or_option(SV3_1aParser::Coverage_spec_or_optionContext * ctx) override { addVObject (ctx, VObjectType::slCoverage_spec_or_option); } + virtual void enterCoverage_option(SV3_1aParser::Coverage_optionContext * /*ctx*/) override { } + virtual void exitCoverage_option(SV3_1aParser::Coverage_optionContext * ctx) override { addVObject (ctx, VObjectType::slCoverage_option); } + virtual void enterCoverage_spec(SV3_1aParser::Coverage_specContext * /*ctx*/) override { } + virtual void exitCoverage_spec(SV3_1aParser::Coverage_specContext * ctx) override { addVObject (ctx, VObjectType::slCoverage_spec); } + virtual void enterCoverage_event(SV3_1aParser::Coverage_eventContext * /*ctx*/) override { } + virtual void exitCoverage_event(SV3_1aParser::Coverage_eventContext * ctx) override { addVObject (ctx, VObjectType::slCoverage_event); } + virtual void enterEnd(SV3_1aParser::EndContext * /*ctx*/) override { } + virtual void exitEnd(SV3_1aParser::EndContext * ctx) override { addVObject (ctx, VObjectType::slEnd); } + virtual void enterBlock_event_expression(SV3_1aParser::Block_event_expressionContext * /*ctx*/) override { } + virtual void exitBlock_event_expression(SV3_1aParser::Block_event_expressionContext * ctx) override { addVObject (ctx, VObjectType::slBlock_event_expression); } + virtual void enterHierarchical_btf_identifier(SV3_1aParser::Hierarchical_btf_identifierContext * /*ctx*/) override { } + virtual void exitHierarchical_btf_identifier(SV3_1aParser::Hierarchical_btf_identifierContext * ctx) override { addVObject (ctx, VObjectType::slHierarchical_btf_identifier); } + virtual void enterCover_point(SV3_1aParser::Cover_pointContext * /*ctx*/) override { } + virtual void exitCover_point(SV3_1aParser::Cover_pointContext * ctx) override { addVObject (ctx, VObjectType::slCover_point); } + virtual void enterBins_or_empty(SV3_1aParser::Bins_or_emptyContext * /*ctx*/) override { } + virtual void exitBins_or_empty(SV3_1aParser::Bins_or_emptyContext * ctx) override { addVObject (ctx, VObjectType::slBins_or_empty); } + virtual void enterBins_or_options(SV3_1aParser::Bins_or_optionsContext * /*ctx*/) override { } + virtual void exitBins_or_options(SV3_1aParser::Bins_or_optionsContext * ctx) override { addVObject (ctx, VObjectType::slBins_or_options); } + virtual void enterBins_Bins(SV3_1aParser::Bins_BinsContext * /*ctx*/) override { } + virtual void exitBins_Bins(SV3_1aParser::Bins_BinsContext * ctx) override { addVObject (ctx, VObjectType::slBins_Bins); } + virtual void enterBins_Illegal(SV3_1aParser::Bins_IllegalContext * /*ctx*/) override { } + virtual void exitBins_Illegal(SV3_1aParser::Bins_IllegalContext * ctx) override { addVObject (ctx, VObjectType::slBins_Illegal); } + virtual void enterBins_Ignore(SV3_1aParser::Bins_IgnoreContext * /*ctx*/) override { } + virtual void exitBins_Ignore(SV3_1aParser::Bins_IgnoreContext * ctx) override { addVObject (ctx, VObjectType::slBins_Ignore); } + virtual void enterRange_list(SV3_1aParser::Range_listContext * /*ctx*/) override { } + virtual void exitRange_list(SV3_1aParser::Range_listContext * ctx) override { addVObject (ctx, VObjectType::slRange_list); } + virtual void enterTrans_list(SV3_1aParser::Trans_listContext * /*ctx*/) override { } + virtual void exitTrans_list(SV3_1aParser::Trans_listContext * ctx) override { addVObject (ctx, VObjectType::slTrans_list); } + virtual void enterTrans_set(SV3_1aParser::Trans_setContext * /*ctx*/) override { } + virtual void exitTrans_set(SV3_1aParser::Trans_setContext * ctx) override { addVObject (ctx, VObjectType::slTrans_set); } + virtual void enterTrans_range_list(SV3_1aParser::Trans_range_listContext * /*ctx*/) override { } + virtual void exitTrans_range_list(SV3_1aParser::Trans_range_listContext * ctx) override { addVObject (ctx, VObjectType::slTrans_range_list); } + virtual void enterRepeat_range(SV3_1aParser::Repeat_rangeContext * /*ctx*/) override { } + virtual void exitRepeat_range(SV3_1aParser::Repeat_rangeContext * ctx) override { addVObject (ctx, VObjectType::slRepeat_range); } + virtual void enterCover_cross(SV3_1aParser::Cover_crossContext * /*ctx*/) override { } + virtual void exitCover_cross(SV3_1aParser::Cover_crossContext * ctx) override { addVObject (ctx, VObjectType::slCover_cross); } + virtual void enterList_of_cross_items(SV3_1aParser::List_of_cross_itemsContext * /*ctx*/) override { } + virtual void exitList_of_cross_items(SV3_1aParser::List_of_cross_itemsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_cross_items); } + virtual void enterCross_item(SV3_1aParser::Cross_itemContext * /*ctx*/) override { } + virtual void exitCross_item(SV3_1aParser::Cross_itemContext * ctx) override { addVObject (ctx, VObjectType::slCross_item); } + virtual void enterCross_body(SV3_1aParser::Cross_bodyContext * /*ctx*/) override { } + virtual void exitCross_body(SV3_1aParser::Cross_bodyContext * ctx) override { addVObject (ctx, VObjectType::slCross_body); } + virtual void enterCross_body_item(SV3_1aParser::Cross_body_itemContext * /*ctx*/) override { } + virtual void exitCross_body_item(SV3_1aParser::Cross_body_itemContext * ctx) override { addVObject (ctx, VObjectType::slCross_body_item); } + virtual void enterBins_selection_or_option(SV3_1aParser::Bins_selection_or_optionContext * /*ctx*/) override { } + virtual void exitBins_selection_or_option(SV3_1aParser::Bins_selection_or_optionContext * ctx) override { addVObject (ctx, VObjectType::slBins_selection_or_option); } + virtual void enterBins_selection(SV3_1aParser::Bins_selectionContext * /*ctx*/) override { } + virtual void exitBins_selection(SV3_1aParser::Bins_selectionContext * ctx) override { addVObject (ctx, VObjectType::slBins_selection); } + virtual void enterSelect_expression(SV3_1aParser::Select_expressionContext * /*ctx*/) override { } + virtual void exitSelect_expression(SV3_1aParser::Select_expressionContext * ctx) override { addVObject (ctx, VObjectType::slSelect_expression); } + virtual void enterSelect_condition(SV3_1aParser::Select_conditionContext * /*ctx*/) override { } + virtual void exitSelect_condition(SV3_1aParser::Select_conditionContext * ctx) override { addVObject (ctx, VObjectType::slSelect_condition); } + virtual void enterBins_expression(SV3_1aParser::Bins_expressionContext * /*ctx*/) override { } + virtual void exitBins_expression(SV3_1aParser::Bins_expressionContext * ctx) override { addVObject (ctx, VObjectType::slBins_expression); } + virtual void enterOpen_range_list(SV3_1aParser::Open_range_listContext * /*ctx*/) override { } + virtual void exitOpen_range_list(SV3_1aParser::Open_range_listContext * ctx) override { addVObject (ctx, VObjectType::slOpen_range_list); } + virtual void enterGate_instantiation(SV3_1aParser::Gate_instantiationContext * /*ctx*/) override { } + virtual void exitGate_instantiation(SV3_1aParser::Gate_instantiationContext * ctx) override { addVObject (ctx, VObjectType::slGate_instantiation); } + virtual void enterCmos_switch_instance(SV3_1aParser::Cmos_switch_instanceContext * /*ctx*/) override { } + virtual void exitCmos_switch_instance(SV3_1aParser::Cmos_switch_instanceContext * ctx) override { addVObject (ctx, VObjectType::slCmos_switch_instance); } + virtual void enterEnable_gate_instance(SV3_1aParser::Enable_gate_instanceContext * /*ctx*/) override { } + virtual void exitEnable_gate_instance(SV3_1aParser::Enable_gate_instanceContext * ctx) override { addVObject (ctx, VObjectType::slEnable_gate_instance); } + virtual void enterMos_switch_instance(SV3_1aParser::Mos_switch_instanceContext * /*ctx*/) override { } + virtual void exitMos_switch_instance(SV3_1aParser::Mos_switch_instanceContext * ctx) override { addVObject (ctx, VObjectType::slMos_switch_instance); } + virtual void enterN_input_gate_instance(SV3_1aParser::N_input_gate_instanceContext * /*ctx*/) override { } + virtual void exitN_input_gate_instance(SV3_1aParser::N_input_gate_instanceContext * ctx) override { addVObject (ctx, VObjectType::slN_input_gate_instance); } + virtual void enterN_output_gate_instance(SV3_1aParser::N_output_gate_instanceContext * /*ctx*/) override { } + virtual void exitN_output_gate_instance(SV3_1aParser::N_output_gate_instanceContext * ctx) override { addVObject (ctx, VObjectType::slN_output_gate_instance); } + virtual void enterPass_switch_instance(SV3_1aParser::Pass_switch_instanceContext * /*ctx*/) override { } + virtual void exitPass_switch_instance(SV3_1aParser::Pass_switch_instanceContext * ctx) override { addVObject (ctx, VObjectType::slPass_switch_instance); } + virtual void enterPass_enable_switch_instance(SV3_1aParser::Pass_enable_switch_instanceContext * /*ctx*/) override { } + virtual void exitPass_enable_switch_instance(SV3_1aParser::Pass_enable_switch_instanceContext * ctx) override { addVObject (ctx, VObjectType::slPass_enable_switch_instance); } + virtual void enterPull_gate_instance(SV3_1aParser::Pull_gate_instanceContext * /*ctx*/) override { } + virtual void exitPull_gate_instance(SV3_1aParser::Pull_gate_instanceContext * ctx) override { addVObject (ctx, VObjectType::slPull_gate_instance); } + virtual void enterPulldownStrength_01(SV3_1aParser::PulldownStrength_01Context * /*ctx*/) override { } + virtual void exitPulldownStrength_01(SV3_1aParser::PulldownStrength_01Context * ctx) override { addVObject (ctx, VObjectType::slPulldownStrength_01); } + virtual void enterPulldownStrength_10(SV3_1aParser::PulldownStrength_10Context * /*ctx*/) override { } + virtual void exitPulldownStrength_10(SV3_1aParser::PulldownStrength_10Context * ctx) override { addVObject (ctx, VObjectType::slPulldownStrength_10); } + virtual void enterPulldownStrength_0(SV3_1aParser::PulldownStrength_0Context * /*ctx*/) override { } + virtual void exitPulldownStrength_0(SV3_1aParser::PulldownStrength_0Context * ctx) override { addVObject (ctx, VObjectType::slPulldownStrength_0); } + virtual void enterPullupStrength_01(SV3_1aParser::PullupStrength_01Context * /*ctx*/) override { } + virtual void exitPullupStrength_01(SV3_1aParser::PullupStrength_01Context * ctx) override { addVObject (ctx, VObjectType::slPullupStrength_01); } + virtual void enterPullupStrength_10(SV3_1aParser::PullupStrength_10Context * /*ctx*/) override { } + virtual void exitPullupStrength_10(SV3_1aParser::PullupStrength_10Context * ctx) override { addVObject (ctx, VObjectType::slPullupStrength_10); } + virtual void enterPullupStrength_1(SV3_1aParser::PullupStrength_1Context * /*ctx*/) override { } + virtual void exitPullupStrength_1(SV3_1aParser::PullupStrength_1Context * ctx) override { addVObject (ctx, VObjectType::slPullupStrength_1); } + virtual void enterCmosSwitchType_Cmos(SV3_1aParser::CmosSwitchType_CmosContext * /*ctx*/) override { } + virtual void exitCmosSwitchType_Cmos(SV3_1aParser::CmosSwitchType_CmosContext * ctx) override { addVObject (ctx, VObjectType::slCmosSwitchType_Cmos); } + virtual void enterCmosSwitchType_RCmos(SV3_1aParser::CmosSwitchType_RCmosContext * /*ctx*/) override { } + virtual void exitCmosSwitchType_RCmos(SV3_1aParser::CmosSwitchType_RCmosContext * ctx) override { addVObject (ctx, VObjectType::slCmosSwitchType_RCmos); } + virtual void enterEnableGateType_Bufif0(SV3_1aParser::EnableGateType_Bufif0Context * /*ctx*/) override { } + virtual void exitEnableGateType_Bufif0(SV3_1aParser::EnableGateType_Bufif0Context * ctx) override { addVObject (ctx, VObjectType::slEnableGateType_Bufif0); } + virtual void enterEnableGateType_Bufif1(SV3_1aParser::EnableGateType_Bufif1Context * /*ctx*/) override { } + virtual void exitEnableGateType_Bufif1(SV3_1aParser::EnableGateType_Bufif1Context * ctx) override { addVObject (ctx, VObjectType::slEnableGateType_Bufif1); } + virtual void enterEnableGateType_Notif0(SV3_1aParser::EnableGateType_Notif0Context * /*ctx*/) override { } + virtual void exitEnableGateType_Notif0(SV3_1aParser::EnableGateType_Notif0Context * ctx) override { addVObject (ctx, VObjectType::slEnableGateType_Notif0); } + virtual void enterEnableGateType_Notif1(SV3_1aParser::EnableGateType_Notif1Context * /*ctx*/) override { } + virtual void exitEnableGateType_Notif1(SV3_1aParser::EnableGateType_Notif1Context * ctx) override { addVObject (ctx, VObjectType::slEnableGateType_Notif1); } + virtual void enterMosSwitchType_NMos(SV3_1aParser::MosSwitchType_NMosContext * /*ctx*/) override { } + virtual void exitMosSwitchType_NMos(SV3_1aParser::MosSwitchType_NMosContext * ctx) override { addVObject (ctx, VObjectType::slMosSwitchType_NMos); } + virtual void enterMosSwitchType_PMos(SV3_1aParser::MosSwitchType_PMosContext * /*ctx*/) override { } + virtual void exitMosSwitchType_PMos(SV3_1aParser::MosSwitchType_PMosContext * ctx) override { addVObject (ctx, VObjectType::slMosSwitchType_PMos); } + virtual void enterMosSwitchType_RNMos(SV3_1aParser::MosSwitchType_RNMosContext * /*ctx*/) override { } + virtual void exitMosSwitchType_RNMos(SV3_1aParser::MosSwitchType_RNMosContext * ctx) override { addVObject (ctx, VObjectType::slMosSwitchType_RNMos); } + virtual void enterMosSwitchType_RPMos(SV3_1aParser::MosSwitchType_RPMosContext * /*ctx*/) override { } + virtual void exitMosSwitchType_RPMos(SV3_1aParser::MosSwitchType_RPMosContext * ctx) override { addVObject (ctx, VObjectType::slMosSwitchType_RPMos); } + virtual void enterNInpGate_And(SV3_1aParser::NInpGate_AndContext * /*ctx*/) override { } + virtual void exitNInpGate_And(SV3_1aParser::NInpGate_AndContext * ctx) override { addVObject (ctx, VObjectType::slNInpGate_And); } + virtual void enterNInpGate_Nand(SV3_1aParser::NInpGate_NandContext * /*ctx*/) override { } + virtual void exitNInpGate_Nand(SV3_1aParser::NInpGate_NandContext * ctx) override { addVObject (ctx, VObjectType::slNInpGate_Nand); } + virtual void enterNInpGate_Or(SV3_1aParser::NInpGate_OrContext * /*ctx*/) override { } + virtual void exitNInpGate_Or(SV3_1aParser::NInpGate_OrContext * ctx) override { addVObject (ctx, VObjectType::slNInpGate_Or); } + virtual void enterNInpGate_Nor(SV3_1aParser::NInpGate_NorContext * /*ctx*/) override { } + virtual void exitNInpGate_Nor(SV3_1aParser::NInpGate_NorContext * ctx) override { addVObject (ctx, VObjectType::slNInpGate_Nor); } + virtual void enterNInpGate_Xor(SV3_1aParser::NInpGate_XorContext * /*ctx*/) override { } + virtual void exitNInpGate_Xor(SV3_1aParser::NInpGate_XorContext * ctx) override { addVObject (ctx, VObjectType::slNInpGate_Xor); } + virtual void enterNInpGate_Xnor(SV3_1aParser::NInpGate_XnorContext * /*ctx*/) override { } + virtual void exitNInpGate_Xnor(SV3_1aParser::NInpGate_XnorContext * ctx) override { addVObject (ctx, VObjectType::slNInpGate_Xnor); } + virtual void enterNOutGate_Buf(SV3_1aParser::NOutGate_BufContext * /*ctx*/) override { } + virtual void exitNOutGate_Buf(SV3_1aParser::NOutGate_BufContext * ctx) override { addVObject (ctx, VObjectType::slNOutGate_Buf); } + virtual void enterNOutGate_Not(SV3_1aParser::NOutGate_NotContext * /*ctx*/) override { } + virtual void exitNOutGate_Not(SV3_1aParser::NOutGate_NotContext * ctx) override { addVObject (ctx, VObjectType::slNOutGate_Not); } + virtual void enterPassEnSwitch_Tranif0(SV3_1aParser::PassEnSwitch_Tranif0Context * /*ctx*/) override { } + virtual void exitPassEnSwitch_Tranif0(SV3_1aParser::PassEnSwitch_Tranif0Context * ctx) override { addVObject (ctx, VObjectType::slPassEnSwitch_Tranif0); } + virtual void enterPassEnSwitch_Tranif1(SV3_1aParser::PassEnSwitch_Tranif1Context * /*ctx*/) override { } + virtual void exitPassEnSwitch_Tranif1(SV3_1aParser::PassEnSwitch_Tranif1Context * ctx) override { addVObject (ctx, VObjectType::slPassEnSwitch_Tranif1); } + virtual void enterPassEnSwitch_RTranif1(SV3_1aParser::PassEnSwitch_RTranif1Context * /*ctx*/) override { } + virtual void exitPassEnSwitch_RTranif1(SV3_1aParser::PassEnSwitch_RTranif1Context * ctx) override { addVObject (ctx, VObjectType::slPassEnSwitch_RTranif1); } + virtual void enterPassEnSwitch_RTranif0(SV3_1aParser::PassEnSwitch_RTranif0Context * /*ctx*/) override { } + virtual void exitPassEnSwitch_RTranif0(SV3_1aParser::PassEnSwitch_RTranif0Context * ctx) override { addVObject (ctx, VObjectType::slPassEnSwitch_RTranif0); } + virtual void enterPassSwitch_Tran(SV3_1aParser::PassSwitch_TranContext * /*ctx*/) override { } + virtual void exitPassSwitch_Tran(SV3_1aParser::PassSwitch_TranContext * ctx) override { addVObject (ctx, VObjectType::slPassSwitch_Tran); } + virtual void enterPassSwitch_RTran(SV3_1aParser::PassSwitch_RTranContext * /*ctx*/) override { } + virtual void exitPassSwitch_RTran(SV3_1aParser::PassSwitch_RTranContext * ctx) override { addVObject (ctx, VObjectType::slPassSwitch_RTran); } + virtual void enterModule_instantiation(SV3_1aParser::Module_instantiationContext * /*ctx*/) override { } + virtual void exitModule_instantiation(SV3_1aParser::Module_instantiationContext * ctx) override { addVObject (ctx, VObjectType::slModule_instantiation); } + virtual void enterParameter_value_assignment(SV3_1aParser::Parameter_value_assignmentContext * /*ctx*/) override { } + virtual void exitParameter_value_assignment(SV3_1aParser::Parameter_value_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slParameter_value_assignment); } + virtual void enterList_of_parameter_assignments(SV3_1aParser::List_of_parameter_assignmentsContext * /*ctx*/) override { } + virtual void exitList_of_parameter_assignments(SV3_1aParser::List_of_parameter_assignmentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_parameter_assignments); } + virtual void enterOrdered_parameter_assignment(SV3_1aParser::Ordered_parameter_assignmentContext * /*ctx*/) override { } + virtual void exitOrdered_parameter_assignment(SV3_1aParser::Ordered_parameter_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slOrdered_parameter_assignment); } + virtual void enterNamed_parameter_assignment(SV3_1aParser::Named_parameter_assignmentContext * /*ctx*/) override { } + virtual void exitNamed_parameter_assignment(SV3_1aParser::Named_parameter_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slNamed_parameter_assignment); } + virtual void enterHierarchical_instance(SV3_1aParser::Hierarchical_instanceContext * /*ctx*/) override { } + virtual void exitHierarchical_instance(SV3_1aParser::Hierarchical_instanceContext * ctx) override { addVObject (ctx, VObjectType::slHierarchical_instance); } + virtual void enterName_of_instance(SV3_1aParser::Name_of_instanceContext * /*ctx*/) override { } + virtual void exitName_of_instance(SV3_1aParser::Name_of_instanceContext * ctx) override { addVObject (ctx, VObjectType::slName_of_instance); } + virtual void enterList_of_port_connections(SV3_1aParser::List_of_port_connectionsContext * /*ctx*/) override { } + virtual void exitList_of_port_connections(SV3_1aParser::List_of_port_connectionsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_port_connections); } + virtual void enterOrdered_port_connection(SV3_1aParser::Ordered_port_connectionContext * /*ctx*/) override { } + virtual void exitOrdered_port_connection(SV3_1aParser::Ordered_port_connectionContext * ctx) override { addVObject (ctx, VObjectType::slOrdered_port_connection); } + virtual void enterNamed_port_connection(SV3_1aParser::Named_port_connectionContext * /*ctx*/) override { } + virtual void exitNamed_port_connection(SV3_1aParser::Named_port_connectionContext * ctx) override { addVObject (ctx, VObjectType::slNamed_port_connection); } + virtual void enterInterface_instantiation(SV3_1aParser::Interface_instantiationContext * /*ctx*/) override { } + virtual void exitInterface_instantiation(SV3_1aParser::Interface_instantiationContext * ctx) override { addVObject (ctx, VObjectType::slInterface_instantiation); } + virtual void enterProgram_instantiation(SV3_1aParser::Program_instantiationContext * /*ctx*/) override { } + virtual void exitProgram_instantiation(SV3_1aParser::Program_instantiationContext * ctx) override { addVObject (ctx, VObjectType::slProgram_instantiation); } + virtual void enterChecker_instantiation(SV3_1aParser::Checker_instantiationContext * /*ctx*/) override { } + virtual void exitChecker_instantiation(SV3_1aParser::Checker_instantiationContext * ctx) override { addVObject (ctx, VObjectType::slChecker_instantiation); } + virtual void enterList_of_checker_port_connections(SV3_1aParser::List_of_checker_port_connectionsContext * /*ctx*/) override { } + virtual void exitList_of_checker_port_connections(SV3_1aParser::List_of_checker_port_connectionsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_checker_port_connections); } + virtual void enterOrdered_checker_port_connection(SV3_1aParser::Ordered_checker_port_connectionContext * /*ctx*/) override { } + virtual void exitOrdered_checker_port_connection(SV3_1aParser::Ordered_checker_port_connectionContext * ctx) override { addVObject (ctx, VObjectType::slOrdered_checker_port_connection); } + virtual void enterNamed_checker_port_connection(SV3_1aParser::Named_checker_port_connectionContext * /*ctx*/) override { } + virtual void exitNamed_checker_port_connection(SV3_1aParser::Named_checker_port_connectionContext * ctx) override { addVObject (ctx, VObjectType::slNamed_checker_port_connection); } + virtual void enterEndgenerate(SV3_1aParser::EndgenerateContext * /*ctx*/) override { } + virtual void exitEndgenerate(SV3_1aParser::EndgenerateContext * ctx) override { addVObject (ctx, VObjectType::slEndgenerate); } + virtual void enterGenerated_module_instantiation(SV3_1aParser::Generated_module_instantiationContext * /*ctx*/) override { } + virtual void exitGenerated_module_instantiation(SV3_1aParser::Generated_module_instantiationContext * ctx) override { addVObject (ctx, VObjectType::slGenerated_module_instantiation); } + virtual void enterGenerate_module_item(SV3_1aParser::Generate_module_itemContext * /*ctx*/) override { } + virtual void exitGenerate_module_item(SV3_1aParser::Generate_module_itemContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_module_item); } + virtual void enterGenerate_module_conditional_statement(SV3_1aParser::Generate_module_conditional_statementContext * /*ctx*/) override { } + virtual void exitGenerate_module_conditional_statement(SV3_1aParser::Generate_module_conditional_statementContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_module_conditional_statement); } + virtual void enterGenerate_module_case_statement(SV3_1aParser::Generate_module_case_statementContext * /*ctx*/) override { } + virtual void exitGenerate_module_case_statement(SV3_1aParser::Generate_module_case_statementContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_module_case_statement); } + virtual void enterGenvar_module_case_item(SV3_1aParser::Genvar_module_case_itemContext * /*ctx*/) override { } + virtual void exitGenvar_module_case_item(SV3_1aParser::Genvar_module_case_itemContext * ctx) override { addVObject (ctx, VObjectType::slGenvar_module_case_item); } + virtual void enterGenerate_module_loop_statement(SV3_1aParser::Generate_module_loop_statementContext * /*ctx*/) override { } + virtual void exitGenerate_module_loop_statement(SV3_1aParser::Generate_module_loop_statementContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_module_loop_statement); } + virtual void enterGenvar_assignment(SV3_1aParser::Genvar_assignmentContext * /*ctx*/) override { } + virtual void exitGenvar_assignment(SV3_1aParser::Genvar_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slGenvar_assignment); } + virtual void enterGenvar_decl_assignment(SV3_1aParser::Genvar_decl_assignmentContext * /*ctx*/) override { } + virtual void exitGenvar_decl_assignment(SV3_1aParser::Genvar_decl_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slGenvar_decl_assignment); } + virtual void enterGenerate_module_named_block(SV3_1aParser::Generate_module_named_blockContext * /*ctx*/) override { } + virtual void exitGenerate_module_named_block(SV3_1aParser::Generate_module_named_blockContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_module_named_block); } + virtual void enterGenerate_module_block(SV3_1aParser::Generate_module_blockContext * /*ctx*/) override { } + virtual void exitGenerate_module_block(SV3_1aParser::Generate_module_blockContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_module_block); } + virtual void enterGenerated_interface_instantiation(SV3_1aParser::Generated_interface_instantiationContext * /*ctx*/) override { } + virtual void exitGenerated_interface_instantiation(SV3_1aParser::Generated_interface_instantiationContext * ctx) override { addVObject (ctx, VObjectType::slGenerated_interface_instantiation); } + virtual void enterGenerate_interface_item(SV3_1aParser::Generate_interface_itemContext * /*ctx*/) override { } + virtual void exitGenerate_interface_item(SV3_1aParser::Generate_interface_itemContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_interface_item); } + virtual void enterGenerate_interface_conditional_statement(SV3_1aParser::Generate_interface_conditional_statementContext * /*ctx*/) override { } + virtual void exitGenerate_interface_conditional_statement(SV3_1aParser::Generate_interface_conditional_statementContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_interface_conditional_statement); } + virtual void enterGenerate_interface_case_statement(SV3_1aParser::Generate_interface_case_statementContext * /*ctx*/) override { } + virtual void exitGenerate_interface_case_statement(SV3_1aParser::Generate_interface_case_statementContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_interface_case_statement); } + virtual void enterGenvar_interface_case_item(SV3_1aParser::Genvar_interface_case_itemContext * /*ctx*/) override { } + virtual void exitGenvar_interface_case_item(SV3_1aParser::Genvar_interface_case_itemContext * ctx) override { addVObject (ctx, VObjectType::slGenvar_interface_case_item); } + virtual void enterGenerate_interface_loop_statement(SV3_1aParser::Generate_interface_loop_statementContext * /*ctx*/) override { } + virtual void exitGenerate_interface_loop_statement(SV3_1aParser::Generate_interface_loop_statementContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_interface_loop_statement); } + virtual void enterGenerate_interface_named_block(SV3_1aParser::Generate_interface_named_blockContext * /*ctx*/) override { } + virtual void exitGenerate_interface_named_block(SV3_1aParser::Generate_interface_named_blockContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_interface_named_block); } + virtual void enterGenerate_interface_block(SV3_1aParser::Generate_interface_blockContext * /*ctx*/) override { } + virtual void exitGenerate_interface_block(SV3_1aParser::Generate_interface_blockContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_interface_block); } + virtual void enterGenerate_region(SV3_1aParser::Generate_regionContext * /*ctx*/) override { } + virtual void exitGenerate_region(SV3_1aParser::Generate_regionContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_region); } + virtual void enterLoop_generate_construct(SV3_1aParser::Loop_generate_constructContext * /*ctx*/) override { } + virtual void exitLoop_generate_construct(SV3_1aParser::Loop_generate_constructContext * ctx) override { addVObject (ctx, VObjectType::slLoop_generate_construct); } + virtual void enterGenvar_initialization(SV3_1aParser::Genvar_initializationContext * /*ctx*/) override { } + virtual void exitGenvar_initialization(SV3_1aParser::Genvar_initializationContext * ctx) override { addVObject (ctx, VObjectType::slGenvar_initialization); } + virtual void enterGenvar_iteration(SV3_1aParser::Genvar_iterationContext * /*ctx*/) override { } + virtual void exitGenvar_iteration(SV3_1aParser::Genvar_iterationContext * ctx) override { addVObject (ctx, VObjectType::slGenvar_iteration); } + virtual void enterConditional_generate_construct(SV3_1aParser::Conditional_generate_constructContext * /*ctx*/) override { } + virtual void exitConditional_generate_construct(SV3_1aParser::Conditional_generate_constructContext * ctx) override { addVObject (ctx, VObjectType::slConditional_generate_construct); } + virtual void enterIf_generate_construct(SV3_1aParser::If_generate_constructContext * /*ctx*/) override { } + virtual void exitIf_generate_construct(SV3_1aParser::If_generate_constructContext * ctx) override { addVObject (ctx, VObjectType::slIf_generate_construct); } + virtual void enterCase_generate_construct(SV3_1aParser::Case_generate_constructContext * /*ctx*/) override { } + virtual void exitCase_generate_construct(SV3_1aParser::Case_generate_constructContext * ctx) override { addVObject (ctx, VObjectType::slCase_generate_construct); } + virtual void enterCase_generate_item(SV3_1aParser::Case_generate_itemContext * /*ctx*/) override { } + virtual void exitCase_generate_item(SV3_1aParser::Case_generate_itemContext * ctx) override { addVObject (ctx, VObjectType::slCase_generate_item); } + virtual void enterGenerate_block(SV3_1aParser::Generate_blockContext * /*ctx*/) override { } + virtual void exitGenerate_block(SV3_1aParser::Generate_blockContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_block); } + virtual void enterGenerate_item(SV3_1aParser::Generate_itemContext * /*ctx*/) override { } + virtual void exitGenerate_item(SV3_1aParser::Generate_itemContext * ctx) override { addVObject (ctx, VObjectType::slGenerate_item); } + virtual void enterUdp_nonansi_declaration(SV3_1aParser::Udp_nonansi_declarationContext * /*ctx*/) override ; + virtual void exitUdp_nonansi_declaration(SV3_1aParser::Udp_nonansi_declarationContext * ctx) override { addVObject (ctx, VObjectType::slUdp_nonansi_declaration); } + virtual void enterUdp_ansi_declaration(SV3_1aParser::Udp_ansi_declarationContext * /*ctx*/) override ; + virtual void exitUdp_ansi_declaration(SV3_1aParser::Udp_ansi_declarationContext * ctx) override { addVObject (ctx, VObjectType::slUdp_ansi_declaration); } + virtual void enterEndprimitive(SV3_1aParser::EndprimitiveContext * /*ctx*/) override { } + virtual void exitEndprimitive(SV3_1aParser::EndprimitiveContext * ctx) override { addVObject (ctx, VObjectType::slEndprimitive); } + virtual void enterUdp_declaration(SV3_1aParser::Udp_declarationContext * /*ctx*/) override { } + virtual void exitUdp_declaration(SV3_1aParser::Udp_declarationContext * ctx) override { addVObject (ctx, VObjectType::slUdp_declaration); } + virtual void enterUdp_port_list(SV3_1aParser::Udp_port_listContext * /*ctx*/) override { } + virtual void exitUdp_port_list(SV3_1aParser::Udp_port_listContext * ctx) override { addVObject (ctx, VObjectType::slUdp_port_list); } + virtual void enterUdp_declaration_port_list(SV3_1aParser::Udp_declaration_port_listContext * /*ctx*/) override { } + virtual void exitUdp_declaration_port_list(SV3_1aParser::Udp_declaration_port_listContext * ctx) override { addVObject (ctx, VObjectType::slUdp_declaration_port_list); } + virtual void enterUdp_port_declaration(SV3_1aParser::Udp_port_declarationContext * /*ctx*/) override { } + virtual void exitUdp_port_declaration(SV3_1aParser::Udp_port_declarationContext * ctx) override { addVObject (ctx, VObjectType::slUdp_port_declaration); } + virtual void enterUdp_output_declaration(SV3_1aParser::Udp_output_declarationContext * /*ctx*/) override { } + virtual void exitUdp_output_declaration(SV3_1aParser::Udp_output_declarationContext * ctx) override { addVObject (ctx, VObjectType::slUdp_output_declaration); } + virtual void enterUdp_input_declaration(SV3_1aParser::Udp_input_declarationContext * /*ctx*/) override { } + virtual void exitUdp_input_declaration(SV3_1aParser::Udp_input_declarationContext * ctx) override { addVObject (ctx, VObjectType::slUdp_input_declaration); } + virtual void enterUdp_reg_declaration(SV3_1aParser::Udp_reg_declarationContext * /*ctx*/) override { } + virtual void exitUdp_reg_declaration(SV3_1aParser::Udp_reg_declarationContext * ctx) override { addVObject (ctx, VObjectType::slUdp_reg_declaration); } + virtual void enterUdp_body(SV3_1aParser::Udp_bodyContext * /*ctx*/) override { } + virtual void exitUdp_body(SV3_1aParser::Udp_bodyContext * ctx) override { addVObject (ctx, VObjectType::slUdp_body); } + virtual void enterEndtable(SV3_1aParser::EndtableContext * /*ctx*/) override { } + virtual void exitEndtable(SV3_1aParser::EndtableContext * ctx) override { addVObject (ctx, VObjectType::slEndtable); } + virtual void enterCombinational_body(SV3_1aParser::Combinational_bodyContext * /*ctx*/) override { } + virtual void exitCombinational_body(SV3_1aParser::Combinational_bodyContext * ctx) override { addVObject (ctx, VObjectType::slCombinational_body); } + virtual void enterCombinational_entry(SV3_1aParser::Combinational_entryContext * /*ctx*/) override { } + virtual void exitCombinational_entry(SV3_1aParser::Combinational_entryContext * ctx) override { addVObject (ctx, VObjectType::slCombinational_entry); } + virtual void enterSequential_body(SV3_1aParser::Sequential_bodyContext * /*ctx*/) override { } + virtual void exitSequential_body(SV3_1aParser::Sequential_bodyContext * ctx) override { addVObject (ctx, VObjectType::slSequential_body); } + virtual void enterUdp_initial_statement(SV3_1aParser::Udp_initial_statementContext * /*ctx*/) override { } + virtual void exitUdp_initial_statement(SV3_1aParser::Udp_initial_statementContext * ctx) override { addVObject (ctx, VObjectType::slUdp_initial_statement); } + virtual void enterInitVal_1Tickb0(SV3_1aParser::InitVal_1Tickb0Context * /*ctx*/) override { } + virtual void exitInitVal_1Tickb0(SV3_1aParser::InitVal_1Tickb0Context * ctx) override { addVObject (ctx, VObjectType::slInitVal_1Tickb0); } + virtual void enterInitVal_1Tickb1(SV3_1aParser::InitVal_1Tickb1Context * /*ctx*/) override { } + virtual void exitInitVal_1Tickb1(SV3_1aParser::InitVal_1Tickb1Context * ctx) override { addVObject (ctx, VObjectType::slInitVal_1Tickb1); } + virtual void enterInitVal_1TickB0(SV3_1aParser::InitVal_1TickB0Context * /*ctx*/) override { } + virtual void exitInitVal_1TickB0(SV3_1aParser::InitVal_1TickB0Context * ctx) override { addVObject (ctx, VObjectType::slInitVal_1TickB0); } + virtual void enterInitVal_1TickB1(SV3_1aParser::InitVal_1TickB1Context * /*ctx*/) override { } + virtual void exitInitVal_1TickB1(SV3_1aParser::InitVal_1TickB1Context * ctx) override { addVObject (ctx, VObjectType::slInitVal_1TickB1); } + virtual void enterInitVal_1Tickbx(SV3_1aParser::InitVal_1TickbxContext * /*ctx*/) override { } + virtual void exitInitVal_1Tickbx(SV3_1aParser::InitVal_1TickbxContext * ctx) override { addVObject (ctx, VObjectType::slInitVal_1Tickbx); } + virtual void enterInitVal_1TickbX(SV3_1aParser::InitVal_1TickbXContext * /*ctx*/) override { } + virtual void exitInitVal_1TickbX(SV3_1aParser::InitVal_1TickbXContext * ctx) override { addVObject (ctx, VObjectType::slInitVal_1TickbX); } + virtual void enterInitVal_1TickBx(SV3_1aParser::InitVal_1TickBxContext * /*ctx*/) override { } + virtual void exitInitVal_1TickBx(SV3_1aParser::InitVal_1TickBxContext * ctx) override { addVObject (ctx, VObjectType::slInitVal_1TickBx); } + virtual void enterInitVal_1TickBX(SV3_1aParser::InitVal_1TickBXContext * /*ctx*/) override { } + virtual void exitInitVal_1TickBX(SV3_1aParser::InitVal_1TickBXContext * ctx) override { addVObject (ctx, VObjectType::slInitVal_1TickBX); } + virtual void enterInitVal_Integral(SV3_1aParser::InitVal_IntegralContext * /*ctx*/) override { } + virtual void exitInitVal_Integral(SV3_1aParser::InitVal_IntegralContext * ctx) override { addVObject (ctx, VObjectType::slInitVal_Integral); } + virtual void enterSequential_entry(SV3_1aParser::Sequential_entryContext * /*ctx*/) override { } + virtual void exitSequential_entry(SV3_1aParser::Sequential_entryContext * ctx) override { addVObject (ctx, VObjectType::slSequential_entry); } + virtual void enterSeq_input_list(SV3_1aParser::Seq_input_listContext * /*ctx*/) override { } + virtual void exitSeq_input_list(SV3_1aParser::Seq_input_listContext * ctx) override { addVObject (ctx, VObjectType::slSeq_input_list); } + virtual void enterLevel_input_list(SV3_1aParser::Level_input_listContext * /*ctx*/) override { } + virtual void exitLevel_input_list(SV3_1aParser::Level_input_listContext * ctx) override { addVObject (ctx, VObjectType::slLevel_input_list); } + virtual void enterEdge_input_list(SV3_1aParser::Edge_input_listContext * /*ctx*/) override { } + virtual void exitEdge_input_list(SV3_1aParser::Edge_input_listContext * ctx) override { addVObject (ctx, VObjectType::slEdge_input_list); } + virtual void enterEdge_indicator(SV3_1aParser::Edge_indicatorContext * /*ctx*/) override { } + virtual void exitEdge_indicator(SV3_1aParser::Edge_indicatorContext * ctx) override { addVObject (ctx, VObjectType::slEdge_indicator); } + virtual void enterNext_state(SV3_1aParser::Next_stateContext * /*ctx*/) override { } + virtual void exitNext_state(SV3_1aParser::Next_stateContext * ctx) override { addVObject (ctx, VObjectType::slNext_state); } + virtual void enterOutput_symbol(SV3_1aParser::Output_symbolContext * /*ctx*/) override { } + virtual void exitOutput_symbol(SV3_1aParser::Output_symbolContext * ctx) override { addVObject (ctx, VObjectType::slOutput_symbol); } + virtual void enterLevel_symbol(SV3_1aParser::Level_symbolContext * /*ctx*/) override { } + virtual void exitLevel_symbol(SV3_1aParser::Level_symbolContext * ctx) override { addVObject (ctx, VObjectType::slLevel_symbol); } + virtual void enterEdge_symbol(SV3_1aParser::Edge_symbolContext * /*ctx*/) override { } + virtual void exitEdge_symbol(SV3_1aParser::Edge_symbolContext * ctx) override { addVObject (ctx, VObjectType::slEdge_symbol); } + virtual void enterUdp_instantiation(SV3_1aParser::Udp_instantiationContext * /*ctx*/) override { } + virtual void exitUdp_instantiation(SV3_1aParser::Udp_instantiationContext * ctx) override { addVObject (ctx, VObjectType::slUdp_instantiation); } + virtual void enterUdp_instance(SV3_1aParser::Udp_instanceContext * /*ctx*/) override { } + virtual void exitUdp_instance(SV3_1aParser::Udp_instanceContext * ctx) override { addVObject (ctx, VObjectType::slUdp_instance); } + virtual void enterContinuous_assign(SV3_1aParser::Continuous_assignContext * /*ctx*/) override { } + virtual void exitContinuous_assign(SV3_1aParser::Continuous_assignContext * ctx) override { addVObject (ctx, VObjectType::slContinuous_assign); } + virtual void enterList_of_net_assignments(SV3_1aParser::List_of_net_assignmentsContext * /*ctx*/) override { } + virtual void exitList_of_net_assignments(SV3_1aParser::List_of_net_assignmentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_net_assignments); } + virtual void enterList_of_variable_assignments(SV3_1aParser::List_of_variable_assignmentsContext * /*ctx*/) override { } + virtual void exitList_of_variable_assignments(SV3_1aParser::List_of_variable_assignmentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_variable_assignments); } + virtual void enterNet_alias(SV3_1aParser::Net_aliasContext * /*ctx*/) override { } + virtual void exitNet_alias(SV3_1aParser::Net_aliasContext * ctx) override { addVObject (ctx, VObjectType::slNet_alias); } + virtual void enterNet_assignment(SV3_1aParser::Net_assignmentContext * /*ctx*/) override { } + virtual void exitNet_assignment(SV3_1aParser::Net_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slNet_assignment); } + virtual void enterInitial_construct(SV3_1aParser::Initial_constructContext * /*ctx*/) override { } + virtual void exitInitial_construct(SV3_1aParser::Initial_constructContext * ctx) override { addVObject (ctx, VObjectType::slInitial_construct); } + virtual void enterAlways_construct(SV3_1aParser::Always_constructContext * /*ctx*/) override { } + virtual void exitAlways_construct(SV3_1aParser::Always_constructContext * ctx) override { addVObject (ctx, VObjectType::slAlways_construct); } + virtual void enterAlwaysKeywd_Always(SV3_1aParser::AlwaysKeywd_AlwaysContext * /*ctx*/) override { } + virtual void exitAlwaysKeywd_Always(SV3_1aParser::AlwaysKeywd_AlwaysContext * ctx) override { addVObject (ctx, VObjectType::slAlwaysKeywd_Always); } + virtual void enterAlwaysKeywd_Comb(SV3_1aParser::AlwaysKeywd_CombContext * /*ctx*/) override { } + virtual void exitAlwaysKeywd_Comb(SV3_1aParser::AlwaysKeywd_CombContext * ctx) override { addVObject (ctx, VObjectType::slAlwaysKeywd_Comb); } + virtual void enterAlwaysKeywd_Latch(SV3_1aParser::AlwaysKeywd_LatchContext * /*ctx*/) override { } + virtual void exitAlwaysKeywd_Latch(SV3_1aParser::AlwaysKeywd_LatchContext * ctx) override { addVObject (ctx, VObjectType::slAlwaysKeywd_Latch); } + virtual void enterAlwaysKeywd_FF(SV3_1aParser::AlwaysKeywd_FFContext * /*ctx*/) override { } + virtual void exitAlwaysKeywd_FF(SV3_1aParser::AlwaysKeywd_FFContext * ctx) override { addVObject (ctx, VObjectType::slAlwaysKeywd_FF); } + virtual void enterBlocking_assignment(SV3_1aParser::Blocking_assignmentContext * /*ctx*/) override { } + virtual void exitBlocking_assignment(SV3_1aParser::Blocking_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slBlocking_assignment); } + virtual void enterOperator_assignment(SV3_1aParser::Operator_assignmentContext * /*ctx*/) override { } + virtual void exitOperator_assignment(SV3_1aParser::Operator_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slOperator_assignment); } + virtual void enterAssignOp_Assign(SV3_1aParser::AssignOp_AssignContext * /*ctx*/) override { } + virtual void exitAssignOp_Assign(SV3_1aParser::AssignOp_AssignContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_Assign); } + virtual void enterAssignOp_Add(SV3_1aParser::AssignOp_AddContext * /*ctx*/) override { } + virtual void exitAssignOp_Add(SV3_1aParser::AssignOp_AddContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_Add); } + virtual void enterAssignOp_Sub(SV3_1aParser::AssignOp_SubContext * /*ctx*/) override { } + virtual void exitAssignOp_Sub(SV3_1aParser::AssignOp_SubContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_Sub); } + virtual void enterAssignOp_Mult(SV3_1aParser::AssignOp_MultContext * /*ctx*/) override { } + virtual void exitAssignOp_Mult(SV3_1aParser::AssignOp_MultContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_Mult); } + virtual void enterAssignOp_Div(SV3_1aParser::AssignOp_DivContext * /*ctx*/) override { } + virtual void exitAssignOp_Div(SV3_1aParser::AssignOp_DivContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_Div); } + virtual void enterAssignOp_Modulo(SV3_1aParser::AssignOp_ModuloContext * /*ctx*/) override { } + virtual void exitAssignOp_Modulo(SV3_1aParser::AssignOp_ModuloContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_Modulo); } + virtual void enterAssignOp_BitwAnd(SV3_1aParser::AssignOp_BitwAndContext * /*ctx*/) override { } + virtual void exitAssignOp_BitwAnd(SV3_1aParser::AssignOp_BitwAndContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_BitwAnd); } + virtual void enterAssignOp_BitwOr(SV3_1aParser::AssignOp_BitwOrContext * /*ctx*/) override { } + virtual void exitAssignOp_BitwOr(SV3_1aParser::AssignOp_BitwOrContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_BitwOr); } + virtual void enterAssignOp_BitwXor(SV3_1aParser::AssignOp_BitwXorContext * /*ctx*/) override { } + virtual void exitAssignOp_BitwXor(SV3_1aParser::AssignOp_BitwXorContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_BitwXor); } + virtual void enterAssignOp_BitwLeftShift(SV3_1aParser::AssignOp_BitwLeftShiftContext * /*ctx*/) override { } + virtual void exitAssignOp_BitwLeftShift(SV3_1aParser::AssignOp_BitwLeftShiftContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_BitwLeftShift); } + virtual void enterAssignOp_BitwRightShift(SV3_1aParser::AssignOp_BitwRightShiftContext * /*ctx*/) override { } + virtual void exitAssignOp_BitwRightShift(SV3_1aParser::AssignOp_BitwRightShiftContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_BitwRightShift); } + virtual void enterAssignOp_ArithShiftLeft(SV3_1aParser::AssignOp_ArithShiftLeftContext * /*ctx*/) override { } + virtual void exitAssignOp_ArithShiftLeft(SV3_1aParser::AssignOp_ArithShiftLeftContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_ArithShiftLeft); } + virtual void enterAssignOp_ArithShiftRight(SV3_1aParser::AssignOp_ArithShiftRightContext * /*ctx*/) override { } + virtual void exitAssignOp_ArithShiftRight(SV3_1aParser::AssignOp_ArithShiftRightContext * ctx) override { addVObject (ctx, VObjectType::slAssignOp_ArithShiftRight); } + virtual void enterNonblocking_assignment(SV3_1aParser::Nonblocking_assignmentContext * /*ctx*/) override { } + virtual void exitNonblocking_assignment(SV3_1aParser::Nonblocking_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slNonblocking_assignment); } + virtual void enterProcedural_continuous_assignment(SV3_1aParser::Procedural_continuous_assignmentContext * /*ctx*/) override { } + virtual void exitProcedural_continuous_assignment(SV3_1aParser::Procedural_continuous_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slProcedural_continuous_assignment); } + virtual void enterVariable_assignment(SV3_1aParser::Variable_assignmentContext * /*ctx*/) override { } + virtual void exitVariable_assignment(SV3_1aParser::Variable_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slVariable_assignment); } + virtual void enterAction_block(SV3_1aParser::Action_blockContext * /*ctx*/) override { } + virtual void exitAction_block(SV3_1aParser::Action_blockContext * ctx) override { addVObject (ctx, VObjectType::slAction_block); } + virtual void enterSeq_block(SV3_1aParser::Seq_blockContext * /*ctx*/) override { } + virtual void exitSeq_block(SV3_1aParser::Seq_blockContext * ctx) override { addVObject (ctx, VObjectType::slSeq_block); } + virtual void enterPar_block(SV3_1aParser::Par_blockContext * /*ctx*/) override { } + virtual void exitPar_block(SV3_1aParser::Par_blockContext * ctx) override { addVObject (ctx, VObjectType::slPar_block); } + virtual void enterJoin_keyword(SV3_1aParser::Join_keywordContext * /*ctx*/) override { } + virtual void exitJoin_keyword(SV3_1aParser::Join_keywordContext * ctx) override { addVObject (ctx, VObjectType::slJoin_keyword); } + virtual void enterJoin_any_keyword(SV3_1aParser::Join_any_keywordContext * /*ctx*/) override { } + virtual void exitJoin_any_keyword(SV3_1aParser::Join_any_keywordContext * ctx) override { addVObject (ctx, VObjectType::slJoin_any_keyword); } + virtual void enterJoin_none_keyword(SV3_1aParser::Join_none_keywordContext * /*ctx*/) override { } + virtual void exitJoin_none_keyword(SV3_1aParser::Join_none_keywordContext * ctx) override { addVObject (ctx, VObjectType::slJoin_none_keyword); } + virtual void enterStatement_or_null(SV3_1aParser::Statement_or_nullContext * /*ctx*/) override { } + virtual void exitStatement_or_null(SV3_1aParser::Statement_or_nullContext * ctx) override { addVObject (ctx, VObjectType::slStatement_or_null); } + virtual void enterStatement(SV3_1aParser::StatementContext * /*ctx*/) override { } + virtual void exitStatement(SV3_1aParser::StatementContext * ctx) override { addVObject (ctx, VObjectType::slStatement); } + virtual void enterStatement_item(SV3_1aParser::Statement_itemContext * /*ctx*/) override { } + virtual void exitStatement_item(SV3_1aParser::Statement_itemContext * ctx) override { addVObject (ctx, VObjectType::slStatement_item); } + virtual void enterFunction_statement_or_null(SV3_1aParser::Function_statement_or_nullContext * /*ctx*/) override { } + virtual void exitFunction_statement_or_null(SV3_1aParser::Function_statement_or_nullContext * ctx) override { addVObject (ctx, VObjectType::slFunction_statement_or_null); } + virtual void enterProcedural_timing_control_statement(SV3_1aParser::Procedural_timing_control_statementContext * /*ctx*/) override { } + virtual void exitProcedural_timing_control_statement(SV3_1aParser::Procedural_timing_control_statementContext * ctx) override { addVObject (ctx, VObjectType::slProcedural_timing_control_statement); } + virtual void enterDelay_or_event_control(SV3_1aParser::Delay_or_event_controlContext * /*ctx*/) override { } + virtual void exitDelay_or_event_control(SV3_1aParser::Delay_or_event_controlContext * ctx) override { addVObject (ctx, VObjectType::slDelay_or_event_control); } + virtual void enterDelay_control(SV3_1aParser::Delay_controlContext * /*ctx*/) override { } + virtual void exitDelay_control(SV3_1aParser::Delay_controlContext * ctx) override { addVObject (ctx, VObjectType::slDelay_control); } + virtual void enterEvent_control(SV3_1aParser::Event_controlContext * /*ctx*/) override { } + virtual void exitEvent_control(SV3_1aParser::Event_controlContext * ctx) override { addVObject (ctx, VObjectType::slEvent_control); } + virtual void enterEvent_expression(SV3_1aParser::Event_expressionContext * /*ctx*/) override { } + virtual void exitEvent_expression(SV3_1aParser::Event_expressionContext * ctx) override { addVObject (ctx, VObjectType::slEvent_expression); } + virtual void enterProcedural_timing_control(SV3_1aParser::Procedural_timing_controlContext * /*ctx*/) override { } + virtual void exitProcedural_timing_control(SV3_1aParser::Procedural_timing_controlContext * ctx) override { addVObject (ctx, VObjectType::slProcedural_timing_control); } + virtual void enterJump_statement(SV3_1aParser::Jump_statementContext * /*ctx*/) override { } + virtual void exitJump_statement(SV3_1aParser::Jump_statementContext * ctx) override { addVObject (ctx, VObjectType::slJump_statement); } + virtual void enterFinal_construct(SV3_1aParser::Final_constructContext * /*ctx*/) override { } + virtual void exitFinal_construct(SV3_1aParser::Final_constructContext * ctx) override { addVObject (ctx, VObjectType::slFinal_construct); } + virtual void enterWait_statement(SV3_1aParser::Wait_statementContext * /*ctx*/) override { } + virtual void exitWait_statement(SV3_1aParser::Wait_statementContext * ctx) override { addVObject (ctx, VObjectType::slWait_statement); } + virtual void enterEvent_trigger(SV3_1aParser::Event_triggerContext * /*ctx*/) override { } + virtual void exitEvent_trigger(SV3_1aParser::Event_triggerContext * ctx) override { addVObject (ctx, VObjectType::slEvent_trigger); } + virtual void enterDisable_statement(SV3_1aParser::Disable_statementContext * /*ctx*/) override { } + virtual void exitDisable_statement(SV3_1aParser::Disable_statementContext * ctx) override { addVObject (ctx, VObjectType::slDisable_statement); } + virtual void enterConditional_statement(SV3_1aParser::Conditional_statementContext * /*ctx*/) override { } + virtual void exitConditional_statement(SV3_1aParser::Conditional_statementContext * ctx) override { addVObject (ctx, VObjectType::slConditional_statement); } + virtual void enterUnique_priority(SV3_1aParser::Unique_priorityContext * /*ctx*/) override { } + virtual void exitUnique_priority(SV3_1aParser::Unique_priorityContext * ctx) override { addVObject (ctx, VObjectType::slUnique_priority); } + virtual void enterCond_predicate(SV3_1aParser::Cond_predicateContext * /*ctx*/) override { } + virtual void exitCond_predicate(SV3_1aParser::Cond_predicateContext * ctx) override { addVObject (ctx, VObjectType::slCond_predicate); } + virtual void enterExpression_or_cond_pattern(SV3_1aParser::Expression_or_cond_patternContext * /*ctx*/) override { } + virtual void exitExpression_or_cond_pattern(SV3_1aParser::Expression_or_cond_patternContext * ctx) override { addVObject (ctx, VObjectType::slExpression_or_cond_pattern); } + virtual void enterCase_statement(SV3_1aParser::Case_statementContext * /*ctx*/) override { } + virtual void exitCase_statement(SV3_1aParser::Case_statementContext * ctx) override { addVObject (ctx, VObjectType::slCase_statement); } + virtual void enterCaseKeyword_Case(SV3_1aParser::CaseKeyword_CaseContext * /*ctx*/) override { } + virtual void exitCaseKeyword_Case(SV3_1aParser::CaseKeyword_CaseContext * ctx) override { addVObject (ctx, VObjectType::slCaseKeyword_Case); } + virtual void enterCaseKeyword_CaseZ(SV3_1aParser::CaseKeyword_CaseZContext * /*ctx*/) override { } + virtual void exitCaseKeyword_CaseZ(SV3_1aParser::CaseKeyword_CaseZContext * ctx) override { addVObject (ctx, VObjectType::slCaseKeyword_CaseZ); } + virtual void enterCaseKeyword_CaseX(SV3_1aParser::CaseKeyword_CaseXContext * /*ctx*/) override { } + virtual void exitCaseKeyword_CaseX(SV3_1aParser::CaseKeyword_CaseXContext * ctx) override { addVObject (ctx, VObjectType::slCaseKeyword_CaseX); } + virtual void enterCase_item(SV3_1aParser::Case_itemContext * /*ctx*/) override { } + virtual void exitCase_item(SV3_1aParser::Case_itemContext * ctx) override { addVObject (ctx, VObjectType::slCase_item); } + virtual void enterCase_pattern_item(SV3_1aParser::Case_pattern_itemContext * /*ctx*/) override { } + virtual void exitCase_pattern_item(SV3_1aParser::Case_pattern_itemContext * ctx) override { addVObject (ctx, VObjectType::slCase_pattern_item); } + virtual void enterCase_inside_item(SV3_1aParser::Case_inside_itemContext * /*ctx*/) override { } + virtual void exitCase_inside_item(SV3_1aParser::Case_inside_itemContext * ctx) override { addVObject (ctx, VObjectType::slCase_inside_item); } + virtual void enterRandcase_statement(SV3_1aParser::Randcase_statementContext * /*ctx*/) override { } + virtual void exitRandcase_statement(SV3_1aParser::Randcase_statementContext * ctx) override { addVObject (ctx, VObjectType::slRandcase_statement); } + virtual void enterRandcase_item(SV3_1aParser::Randcase_itemContext * /*ctx*/) override { } + virtual void exitRandcase_item(SV3_1aParser::Randcase_itemContext * ctx) override { addVObject (ctx, VObjectType::slRandcase_item); } + virtual void enterPattern(SV3_1aParser::PatternContext * /*ctx*/) override { } + virtual void exitPattern(SV3_1aParser::PatternContext * ctx) override { addVObject (ctx, VObjectType::slPattern); } + virtual void enterAssignment_pattern(SV3_1aParser::Assignment_patternContext * /*ctx*/) override { } + virtual void exitAssignment_pattern(SV3_1aParser::Assignment_patternContext * ctx) override { addVObject (ctx, VObjectType::slAssignment_pattern); } + virtual void enterStructure_pattern_key(SV3_1aParser::Structure_pattern_keyContext * /*ctx*/) override { } + virtual void exitStructure_pattern_key(SV3_1aParser::Structure_pattern_keyContext * ctx) override { addVObject (ctx, VObjectType::slStructure_pattern_key); } + virtual void enterArray_pattern_key(SV3_1aParser::Array_pattern_keyContext * /*ctx*/) override { } + virtual void exitArray_pattern_key(SV3_1aParser::Array_pattern_keyContext * ctx) override { addVObject (ctx, VObjectType::slArray_pattern_key); } + virtual void enterAssignment_pattern_key(SV3_1aParser::Assignment_pattern_keyContext * /*ctx*/) override { } + virtual void exitAssignment_pattern_key(SV3_1aParser::Assignment_pattern_keyContext * ctx) override { addVObject (ctx, VObjectType::slAssignment_pattern_key); } + virtual void enterAssignment_pattern_expression(SV3_1aParser::Assignment_pattern_expressionContext * /*ctx*/) override { } + virtual void exitAssignment_pattern_expression(SV3_1aParser::Assignment_pattern_expressionContext * ctx) override { addVObject (ctx, VObjectType::slAssignment_pattern_expression); } + virtual void enterAssignment_pattern_expression_type(SV3_1aParser::Assignment_pattern_expression_typeContext * /*ctx*/) override { } + virtual void exitAssignment_pattern_expression_type(SV3_1aParser::Assignment_pattern_expression_typeContext * ctx) override { addVObject (ctx, VObjectType::slAssignment_pattern_expression_type); } + virtual void enterConstant_assignment_pattern_expression(SV3_1aParser::Constant_assignment_pattern_expressionContext * /*ctx*/) override { } + virtual void exitConstant_assignment_pattern_expression(SV3_1aParser::Constant_assignment_pattern_expressionContext * ctx) override { addVObject (ctx, VObjectType::slConstant_assignment_pattern_expression); } + virtual void enterAssignment_pattern_net_lvalue(SV3_1aParser::Assignment_pattern_net_lvalueContext * /*ctx*/) override { } + virtual void exitAssignment_pattern_net_lvalue(SV3_1aParser::Assignment_pattern_net_lvalueContext * ctx) override { addVObject (ctx, VObjectType::slAssignment_pattern_net_lvalue); } + virtual void enterAssignment_pattern_variable_lvalue(SV3_1aParser::Assignment_pattern_variable_lvalueContext * /*ctx*/) override { } + virtual void exitAssignment_pattern_variable_lvalue(SV3_1aParser::Assignment_pattern_variable_lvalueContext * ctx) override { addVObject (ctx, VObjectType::slAssignment_pattern_variable_lvalue); } + virtual void enterForever_keyword(SV3_1aParser::Forever_keywordContext * /*ctx*/) override { } + virtual void exitForever_keyword(SV3_1aParser::Forever_keywordContext * ctx) override { addVObject (ctx, VObjectType::slForever_keyword); } + virtual void enterRepeat_keyword(SV3_1aParser::Repeat_keywordContext * /*ctx*/) override { } + virtual void exitRepeat_keyword(SV3_1aParser::Repeat_keywordContext * ctx) override { addVObject (ctx, VObjectType::slRepeat_keyword); } + virtual void enterWhile_keyword(SV3_1aParser::While_keywordContext * /*ctx*/) override { } + virtual void exitWhile_keyword(SV3_1aParser::While_keywordContext * ctx) override { addVObject (ctx, VObjectType::slWhile_keyword); } + virtual void enterLoop_statement(SV3_1aParser::Loop_statementContext * /*ctx*/) override { } + virtual void exitLoop_statement(SV3_1aParser::Loop_statementContext * ctx) override { addVObject (ctx, VObjectType::slLoop_statement); } + virtual void enterFor_initialization(SV3_1aParser::For_initializationContext * /*ctx*/) override { } + virtual void exitFor_initialization(SV3_1aParser::For_initializationContext * ctx) override { addVObject (ctx, VObjectType::slFor_initialization); } + virtual void enterFor_variable_declaration(SV3_1aParser::For_variable_declarationContext * /*ctx*/) override { } + virtual void exitFor_variable_declaration(SV3_1aParser::For_variable_declarationContext * ctx) override { addVObject (ctx, VObjectType::slFor_variable_declaration); } + virtual void enterFor_step(SV3_1aParser::For_stepContext * /*ctx*/) override { } + virtual void exitFor_step(SV3_1aParser::For_stepContext * ctx) override { addVObject (ctx, VObjectType::slFor_step); } + virtual void enterFor_step_assignment(SV3_1aParser::For_step_assignmentContext * /*ctx*/) override { } + virtual void exitFor_step_assignment(SV3_1aParser::For_step_assignmentContext * ctx) override { addVObject (ctx, VObjectType::slFor_step_assignment); } + virtual void enterLoop_variables(SV3_1aParser::Loop_variablesContext * /*ctx*/) override { } + virtual void exitLoop_variables(SV3_1aParser::Loop_variablesContext * ctx) override { addVObject (ctx, VObjectType::slLoop_variables); } + virtual void enterSubroutine_call_statement(SV3_1aParser::Subroutine_call_statementContext * /*ctx*/) override { } + virtual void exitSubroutine_call_statement(SV3_1aParser::Subroutine_call_statementContext * ctx) override { addVObject (ctx, VObjectType::slSubroutine_call_statement); } + virtual void enterAssertion_item(SV3_1aParser::Assertion_itemContext * /*ctx*/) override { } + virtual void exitAssertion_item(SV3_1aParser::Assertion_itemContext * ctx) override { addVObject (ctx, VObjectType::slAssertion_item); } + virtual void enterDeferred_immediate_assertion_item(SV3_1aParser::Deferred_immediate_assertion_itemContext * /*ctx*/) override { } + virtual void exitDeferred_immediate_assertion_item(SV3_1aParser::Deferred_immediate_assertion_itemContext * ctx) override { addVObject (ctx, VObjectType::slDeferred_immediate_assertion_item); } + virtual void enterProcedural_assertion_statement(SV3_1aParser::Procedural_assertion_statementContext * /*ctx*/) override { } + virtual void exitProcedural_assertion_statement(SV3_1aParser::Procedural_assertion_statementContext * ctx) override { addVObject (ctx, VObjectType::slProcedural_assertion_statement); } + virtual void enterImmediate_assertion_statement(SV3_1aParser::Immediate_assertion_statementContext * /*ctx*/) override { } + virtual void exitImmediate_assertion_statement(SV3_1aParser::Immediate_assertion_statementContext * ctx) override { addVObject (ctx, VObjectType::slImmediate_assertion_statement); } + virtual void enterSimple_immediate_assertion_statement(SV3_1aParser::Simple_immediate_assertion_statementContext * /*ctx*/) override { } + virtual void exitSimple_immediate_assertion_statement(SV3_1aParser::Simple_immediate_assertion_statementContext * ctx) override { addVObject (ctx, VObjectType::slSimple_immediate_assertion_statement); } + virtual void enterSimple_immediate_assert_statement(SV3_1aParser::Simple_immediate_assert_statementContext * /*ctx*/) override { } + virtual void exitSimple_immediate_assert_statement(SV3_1aParser::Simple_immediate_assert_statementContext * ctx) override { addVObject (ctx, VObjectType::slSimple_immediate_assert_statement); } + virtual void enterSimple_immediate_assume_statement(SV3_1aParser::Simple_immediate_assume_statementContext * /*ctx*/) override { } + virtual void exitSimple_immediate_assume_statement(SV3_1aParser::Simple_immediate_assume_statementContext * ctx) override { addVObject (ctx, VObjectType::slSimple_immediate_assume_statement); } + virtual void enterSimple_immediate_cover_statement(SV3_1aParser::Simple_immediate_cover_statementContext * /*ctx*/) override { } + virtual void exitSimple_immediate_cover_statement(SV3_1aParser::Simple_immediate_cover_statementContext * ctx) override { addVObject (ctx, VObjectType::slSimple_immediate_cover_statement); } + virtual void enterDeferred_immediate_assertion_statement(SV3_1aParser::Deferred_immediate_assertion_statementContext * /*ctx*/) override { } + virtual void exitDeferred_immediate_assertion_statement(SV3_1aParser::Deferred_immediate_assertion_statementContext * ctx) override { addVObject (ctx, VObjectType::slDeferred_immediate_assertion_statement); } + virtual void enterDeferred_immediate_assert_statement(SV3_1aParser::Deferred_immediate_assert_statementContext * /*ctx*/) override { } + virtual void exitDeferred_immediate_assert_statement(SV3_1aParser::Deferred_immediate_assert_statementContext * ctx) override { addVObject (ctx, VObjectType::slDeferred_immediate_assert_statement); } + virtual void enterDeferred_immediate_assume_statement(SV3_1aParser::Deferred_immediate_assume_statementContext * /*ctx*/) override { } + virtual void exitDeferred_immediate_assume_statement(SV3_1aParser::Deferred_immediate_assume_statementContext * ctx) override { addVObject (ctx, VObjectType::slDeferred_immediate_assume_statement); } + virtual void enterDeferred_immediate_cover_statement(SV3_1aParser::Deferred_immediate_cover_statementContext * /*ctx*/) override { } + virtual void exitDeferred_immediate_cover_statement(SV3_1aParser::Deferred_immediate_cover_statementContext * ctx) override { addVObject (ctx, VObjectType::slDeferred_immediate_cover_statement); } + virtual void enterEndclocking(SV3_1aParser::EndclockingContext * /*ctx*/) override { } + virtual void exitEndclocking(SV3_1aParser::EndclockingContext * ctx) override { addVObject (ctx, VObjectType::slEndclocking); } + virtual void enterClocking_declaration(SV3_1aParser::Clocking_declarationContext * /*ctx*/) override { } + virtual void exitClocking_declaration(SV3_1aParser::Clocking_declarationContext * ctx) override { addVObject (ctx, VObjectType::slClocking_declaration); } + virtual void enterClocking_event(SV3_1aParser::Clocking_eventContext * /*ctx*/) override { } + virtual void exitClocking_event(SV3_1aParser::Clocking_eventContext * ctx) override { addVObject (ctx, VObjectType::slClocking_event); } + virtual void enterClocking_item(SV3_1aParser::Clocking_itemContext * /*ctx*/) override { } + virtual void exitClocking_item(SV3_1aParser::Clocking_itemContext * ctx) override { addVObject (ctx, VObjectType::slClocking_item); } + virtual void enterDefaultSkew_Intput(SV3_1aParser::DefaultSkew_IntputContext * /*ctx*/) override { } + virtual void exitDefaultSkew_Intput(SV3_1aParser::DefaultSkew_IntputContext * ctx) override { addVObject (ctx, VObjectType::slDefaultSkew_Intput); } + virtual void enterDefaultSkew_Output(SV3_1aParser::DefaultSkew_OutputContext * /*ctx*/) override { } + virtual void exitDefaultSkew_Output(SV3_1aParser::DefaultSkew_OutputContext * ctx) override { addVObject (ctx, VObjectType::slDefaultSkew_Output); } + virtual void enterDefaultSkew_IntputOutput(SV3_1aParser::DefaultSkew_IntputOutputContext * /*ctx*/) override { } + virtual void exitDefaultSkew_IntputOutput(SV3_1aParser::DefaultSkew_IntputOutputContext * ctx) override { addVObject (ctx, VObjectType::slDefaultSkew_IntputOutput); } + virtual void enterClockingDir_Input(SV3_1aParser::ClockingDir_InputContext * /*ctx*/) override { } + virtual void exitClockingDir_Input(SV3_1aParser::ClockingDir_InputContext * ctx) override { addVObject (ctx, VObjectType::slClockingDir_Input); } + virtual void enterClockingDir_Output(SV3_1aParser::ClockingDir_OutputContext * /*ctx*/) override { } + virtual void exitClockingDir_Output(SV3_1aParser::ClockingDir_OutputContext * ctx) override { addVObject (ctx, VObjectType::slClockingDir_Output); } + virtual void enterClockingDir_InputOutput(SV3_1aParser::ClockingDir_InputOutputContext * /*ctx*/) override { } + virtual void exitClockingDir_InputOutput(SV3_1aParser::ClockingDir_InputOutputContext * ctx) override { addVObject (ctx, VObjectType::slClockingDir_InputOutput); } + virtual void enterClockingDir_Inout(SV3_1aParser::ClockingDir_InoutContext * /*ctx*/) override { } + virtual void exitClockingDir_Inout(SV3_1aParser::ClockingDir_InoutContext * ctx) override { addVObject (ctx, VObjectType::slClockingDir_Inout); } + virtual void enterList_of_clocking_decl_assign(SV3_1aParser::List_of_clocking_decl_assignContext * /*ctx*/) override { } + virtual void exitList_of_clocking_decl_assign(SV3_1aParser::List_of_clocking_decl_assignContext * ctx) override { addVObject (ctx, VObjectType::slList_of_clocking_decl_assign); } + virtual void enterClocking_decl_assign(SV3_1aParser::Clocking_decl_assignContext * /*ctx*/) override { } + virtual void exitClocking_decl_assign(SV3_1aParser::Clocking_decl_assignContext * ctx) override { addVObject (ctx, VObjectType::slClocking_decl_assign); } + virtual void enterClocking_skew(SV3_1aParser::Clocking_skewContext * /*ctx*/) override { } + virtual void exitClocking_skew(SV3_1aParser::Clocking_skewContext * ctx) override { addVObject (ctx, VObjectType::slClocking_skew); } + virtual void enterEdge_Posedge(SV3_1aParser::Edge_PosedgeContext * /*ctx*/) override { } + virtual void exitEdge_Posedge(SV3_1aParser::Edge_PosedgeContext * ctx) override { addVObject (ctx, VObjectType::slEdge_Posedge); } + virtual void enterEdge_Negedge(SV3_1aParser::Edge_NegedgeContext * /*ctx*/) override { } + virtual void exitEdge_Negedge(SV3_1aParser::Edge_NegedgeContext * ctx) override { addVObject (ctx, VObjectType::slEdge_Negedge); } + virtual void enterEdge_Edge(SV3_1aParser::Edge_EdgeContext * /*ctx*/) override { } + virtual void exitEdge_Edge(SV3_1aParser::Edge_EdgeContext * ctx) override { addVObject (ctx, VObjectType::slEdge_Edge); } + virtual void enterClocking_drive(SV3_1aParser::Clocking_driveContext * /*ctx*/) override { } + virtual void exitClocking_drive(SV3_1aParser::Clocking_driveContext * ctx) override { addVObject (ctx, VObjectType::slClocking_drive); } + virtual void enterCycle_delay(SV3_1aParser::Cycle_delayContext * /*ctx*/) override { } + virtual void exitCycle_delay(SV3_1aParser::Cycle_delayContext * ctx) override { addVObject (ctx, VObjectType::slCycle_delay); } + virtual void enterClockvar(SV3_1aParser::ClockvarContext * /*ctx*/) override { } + virtual void exitClockvar(SV3_1aParser::ClockvarContext * ctx) override { addVObject (ctx, VObjectType::slClockvar); } + virtual void enterClockvar_expression(SV3_1aParser::Clockvar_expressionContext * /*ctx*/) override { } + virtual void exitClockvar_expression(SV3_1aParser::Clockvar_expressionContext * ctx) override { addVObject (ctx, VObjectType::slClockvar_expression); } + virtual void enterRandsequence_statement(SV3_1aParser::Randsequence_statementContext * /*ctx*/) override { } + virtual void exitRandsequence_statement(SV3_1aParser::Randsequence_statementContext * ctx) override { addVObject (ctx, VObjectType::slRandsequence_statement); } + virtual void enterProduction(SV3_1aParser::ProductionContext * /*ctx*/) override { } + virtual void exitProduction(SV3_1aParser::ProductionContext * ctx) override { addVObject (ctx, VObjectType::slProduction); } + virtual void enterRs_rule(SV3_1aParser::Rs_ruleContext * /*ctx*/) override { } + virtual void exitRs_rule(SV3_1aParser::Rs_ruleContext * ctx) override { addVObject (ctx, VObjectType::slRs_rule); } + virtual void enterRs_production_list(SV3_1aParser::Rs_production_listContext * /*ctx*/) override { } + virtual void exitRs_production_list(SV3_1aParser::Rs_production_listContext * ctx) override { addVObject (ctx, VObjectType::slRs_production_list); } + virtual void enterRs_code_block(SV3_1aParser::Rs_code_blockContext * /*ctx*/) override { } + virtual void exitRs_code_block(SV3_1aParser::Rs_code_blockContext * ctx) override { addVObject (ctx, VObjectType::slRs_code_block); } + virtual void enterRs_prod(SV3_1aParser::Rs_prodContext * /*ctx*/) override { } + virtual void exitRs_prod(SV3_1aParser::Rs_prodContext * ctx) override { addVObject (ctx, VObjectType::slRs_prod); } + virtual void enterProduction_item(SV3_1aParser::Production_itemContext * /*ctx*/) override { } + virtual void exitProduction_item(SV3_1aParser::Production_itemContext * ctx) override { addVObject (ctx, VObjectType::slProduction_item); } + virtual void enterRs_if_else(SV3_1aParser::Rs_if_elseContext * /*ctx*/) override { } + virtual void exitRs_if_else(SV3_1aParser::Rs_if_elseContext * ctx) override { addVObject (ctx, VObjectType::slRs_if_else); } + virtual void enterRs_repeat(SV3_1aParser::Rs_repeatContext * /*ctx*/) override { } + virtual void exitRs_repeat(SV3_1aParser::Rs_repeatContext * ctx) override { addVObject (ctx, VObjectType::slRs_repeat); } + virtual void enterRs_case(SV3_1aParser::Rs_caseContext * /*ctx*/) override { } + virtual void exitRs_case(SV3_1aParser::Rs_caseContext * ctx) override { addVObject (ctx, VObjectType::slRs_case); } + virtual void enterRs_case_item(SV3_1aParser::Rs_case_itemContext * /*ctx*/) override { } + virtual void exitRs_case_item(SV3_1aParser::Rs_case_itemContext * ctx) override { addVObject (ctx, VObjectType::slRs_case_item); } + virtual void enterEndspecify(SV3_1aParser::EndspecifyContext * /*ctx*/) override { } + virtual void exitEndspecify(SV3_1aParser::EndspecifyContext * ctx) override { addVObject (ctx, VObjectType::slEndspecify); } + virtual void enterSpecify_block(SV3_1aParser::Specify_blockContext * /*ctx*/) override { } + virtual void exitSpecify_block(SV3_1aParser::Specify_blockContext * ctx) override { addVObject (ctx, VObjectType::slSpecify_block); } + virtual void enterSpecify_item(SV3_1aParser::Specify_itemContext * /*ctx*/) override { } + virtual void exitSpecify_item(SV3_1aParser::Specify_itemContext * ctx) override { addVObject (ctx, VObjectType::slSpecify_item); } + virtual void enterPulsestyle_declaration(SV3_1aParser::Pulsestyle_declarationContext * /*ctx*/) override { } + virtual void exitPulsestyle_declaration(SV3_1aParser::Pulsestyle_declarationContext * ctx) override { addVObject (ctx, VObjectType::slPulsestyle_declaration); } + virtual void enterShowcancelled_declaration(SV3_1aParser::Showcancelled_declarationContext * /*ctx*/) override { } + virtual void exitShowcancelled_declaration(SV3_1aParser::Showcancelled_declarationContext * ctx) override { addVObject (ctx, VObjectType::slShowcancelled_declaration); } + virtual void enterPath_declaration(SV3_1aParser::Path_declarationContext * /*ctx*/) override { } + virtual void exitPath_declaration(SV3_1aParser::Path_declarationContext * ctx) override { addVObject (ctx, VObjectType::slPath_declaration); } + virtual void enterSimple_path_declaration(SV3_1aParser::Simple_path_declarationContext * /*ctx*/) override { } + virtual void exitSimple_path_declaration(SV3_1aParser::Simple_path_declarationContext * ctx) override { addVObject (ctx, VObjectType::slSimple_path_declaration); } + virtual void enterParallel_path_description(SV3_1aParser::Parallel_path_descriptionContext * /*ctx*/) override { } + virtual void exitParallel_path_description(SV3_1aParser::Parallel_path_descriptionContext * ctx) override { addVObject (ctx, VObjectType::slParallel_path_description); } + virtual void enterFull_path_description(SV3_1aParser::Full_path_descriptionContext * /*ctx*/) override { } + virtual void exitFull_path_description(SV3_1aParser::Full_path_descriptionContext * ctx) override { addVObject (ctx, VObjectType::slFull_path_description); } + virtual void enterList_of_path_inputs(SV3_1aParser::List_of_path_inputsContext * /*ctx*/) override { } + virtual void exitList_of_path_inputs(SV3_1aParser::List_of_path_inputsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_path_inputs); } + virtual void enterList_of_path_outputs(SV3_1aParser::List_of_path_outputsContext * /*ctx*/) override { } + virtual void exitList_of_path_outputs(SV3_1aParser::List_of_path_outputsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_path_outputs); } + virtual void enterSpecify_input_terminal_descriptor(SV3_1aParser::Specify_input_terminal_descriptorContext * /*ctx*/) override { } + virtual void exitSpecify_input_terminal_descriptor(SV3_1aParser::Specify_input_terminal_descriptorContext * ctx) override { addVObject (ctx, VObjectType::slSpecify_input_terminal_descriptor); } + virtual void enterSpecify_output_terminal_descriptor(SV3_1aParser::Specify_output_terminal_descriptorContext * /*ctx*/) override { } + virtual void exitSpecify_output_terminal_descriptor(SV3_1aParser::Specify_output_terminal_descriptorContext * ctx) override { addVObject (ctx, VObjectType::slSpecify_output_terminal_descriptor); } + virtual void enterPath_delay_value(SV3_1aParser::Path_delay_valueContext * /*ctx*/) override { } + virtual void exitPath_delay_value(SV3_1aParser::Path_delay_valueContext * ctx) override { addVObject (ctx, VObjectType::slPath_delay_value); } + virtual void enterList_of_path_delay_expressions(SV3_1aParser::List_of_path_delay_expressionsContext * /*ctx*/) override { } + virtual void exitList_of_path_delay_expressions(SV3_1aParser::List_of_path_delay_expressionsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_path_delay_expressions); } + virtual void enterT_path_delay_expression(SV3_1aParser::T_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitT_path_delay_expression(SV3_1aParser::T_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slT_path_delay_expression); } + virtual void enterTrise_path_delay_expression(SV3_1aParser::Trise_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitTrise_path_delay_expression(SV3_1aParser::Trise_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTrise_path_delay_expression); } + virtual void enterTfall_path_delay_expression(SV3_1aParser::Tfall_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitTfall_path_delay_expression(SV3_1aParser::Tfall_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTfall_path_delay_expression); } + virtual void enterTz_path_delay_expression(SV3_1aParser::Tz_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitTz_path_delay_expression(SV3_1aParser::Tz_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTz_path_delay_expression); } + virtual void enterT01_path_delay_expression(SV3_1aParser::T01_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitT01_path_delay_expression(SV3_1aParser::T01_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slT01_path_delay_expression); } + virtual void enterT10_path_delay_expression(SV3_1aParser::T10_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitT10_path_delay_expression(SV3_1aParser::T10_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slT10_path_delay_expression); } + virtual void enterT0z_path_delay_expression(SV3_1aParser::T0z_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitT0z_path_delay_expression(SV3_1aParser::T0z_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slT0z_path_delay_expression); } + virtual void enterTz1_path_delay_expression(SV3_1aParser::Tz1_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitTz1_path_delay_expression(SV3_1aParser::Tz1_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTz1_path_delay_expression); } + virtual void enterT1z_path_delay_expression(SV3_1aParser::T1z_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitT1z_path_delay_expression(SV3_1aParser::T1z_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slT1z_path_delay_expression); } + virtual void enterTz0_path_delay_expression(SV3_1aParser::Tz0_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitTz0_path_delay_expression(SV3_1aParser::Tz0_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTz0_path_delay_expression); } + virtual void enterT0x_path_delay_expression(SV3_1aParser::T0x_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitT0x_path_delay_expression(SV3_1aParser::T0x_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slT0x_path_delay_expression); } + virtual void enterTx1_path_delay_expression(SV3_1aParser::Tx1_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitTx1_path_delay_expression(SV3_1aParser::Tx1_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTx1_path_delay_expression); } + virtual void enterT1x_path_delay_expression(SV3_1aParser::T1x_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitT1x_path_delay_expression(SV3_1aParser::T1x_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slT1x_path_delay_expression); } + virtual void enterTx0_path_delay_expression(SV3_1aParser::Tx0_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitTx0_path_delay_expression(SV3_1aParser::Tx0_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTx0_path_delay_expression); } + virtual void enterTxz_path_delay_expression(SV3_1aParser::Txz_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitTxz_path_delay_expression(SV3_1aParser::Txz_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTxz_path_delay_expression); } + virtual void enterTzx_path_delay_expression(SV3_1aParser::Tzx_path_delay_expressionContext * /*ctx*/) override { } + virtual void exitTzx_path_delay_expression(SV3_1aParser::Tzx_path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTzx_path_delay_expression); } + virtual void enterPath_delay_expression(SV3_1aParser::Path_delay_expressionContext * /*ctx*/) override { } + virtual void exitPath_delay_expression(SV3_1aParser::Path_delay_expressionContext * ctx) override { addVObject (ctx, VObjectType::slPath_delay_expression); } + virtual void enterEdge_sensitive_path_declaration(SV3_1aParser::Edge_sensitive_path_declarationContext * /*ctx*/) override { } + virtual void exitEdge_sensitive_path_declaration(SV3_1aParser::Edge_sensitive_path_declarationContext * ctx) override { addVObject (ctx, VObjectType::slEdge_sensitive_path_declaration); } + virtual void enterParallel_edge_sensitive_path_description(SV3_1aParser::Parallel_edge_sensitive_path_descriptionContext * /*ctx*/) override { } + virtual void exitParallel_edge_sensitive_path_description(SV3_1aParser::Parallel_edge_sensitive_path_descriptionContext * ctx) override { addVObject (ctx, VObjectType::slParallel_edge_sensitive_path_description); } + virtual void enterFull_edge_sensitive_path_description(SV3_1aParser::Full_edge_sensitive_path_descriptionContext * /*ctx*/) override { } + virtual void exitFull_edge_sensitive_path_description(SV3_1aParser::Full_edge_sensitive_path_descriptionContext * ctx) override { addVObject (ctx, VObjectType::slFull_edge_sensitive_path_description); } + virtual void enterState_dependent_path_declaration(SV3_1aParser::State_dependent_path_declarationContext * /*ctx*/) override { } + virtual void exitState_dependent_path_declaration(SV3_1aParser::State_dependent_path_declarationContext * ctx) override { addVObject (ctx, VObjectType::slState_dependent_path_declaration); } + virtual void enterSystem_timing_check(SV3_1aParser::System_timing_checkContext * /*ctx*/) override { } + virtual void exitSystem_timing_check(SV3_1aParser::System_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slSystem_timing_check); } + virtual void enterDollar_setup_timing_check(SV3_1aParser::Dollar_setup_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_setup_timing_check(SV3_1aParser::Dollar_setup_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_setup_timing_check); } + virtual void enterDollar_hold_timing_check(SV3_1aParser::Dollar_hold_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_hold_timing_check(SV3_1aParser::Dollar_hold_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_hold_timing_check); } + virtual void enterDollar_setuphold_timing_check(SV3_1aParser::Dollar_setuphold_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_setuphold_timing_check(SV3_1aParser::Dollar_setuphold_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_setuphold_timing_check); } + virtual void enterDollar_recovery_timing_check(SV3_1aParser::Dollar_recovery_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_recovery_timing_check(SV3_1aParser::Dollar_recovery_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_recovery_timing_check); } + virtual void enterDollar_removal_timing_check(SV3_1aParser::Dollar_removal_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_removal_timing_check(SV3_1aParser::Dollar_removal_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_removal_timing_check); } + virtual void enterDollar_recrem_timing_check(SV3_1aParser::Dollar_recrem_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_recrem_timing_check(SV3_1aParser::Dollar_recrem_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_recrem_timing_check); } + virtual void enterDollar_skew_timing_check(SV3_1aParser::Dollar_skew_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_skew_timing_check(SV3_1aParser::Dollar_skew_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_skew_timing_check); } + virtual void enterDollar_timeskew_timing_check(SV3_1aParser::Dollar_timeskew_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_timeskew_timing_check(SV3_1aParser::Dollar_timeskew_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_timeskew_timing_check); } + virtual void enterDollar_fullskew_timing_check(SV3_1aParser::Dollar_fullskew_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_fullskew_timing_check(SV3_1aParser::Dollar_fullskew_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_fullskew_timing_check); } + virtual void enterDollar_period_timing_check(SV3_1aParser::Dollar_period_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_period_timing_check(SV3_1aParser::Dollar_period_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_period_timing_check); } + virtual void enterDollar_width_timing_check(SV3_1aParser::Dollar_width_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_width_timing_check(SV3_1aParser::Dollar_width_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_width_timing_check); } + virtual void enterDollar_nochange_timing_check(SV3_1aParser::Dollar_nochange_timing_checkContext * /*ctx*/) override { } + virtual void exitDollar_nochange_timing_check(SV3_1aParser::Dollar_nochange_timing_checkContext * ctx) override { addVObject (ctx, VObjectType::slDollar_nochange_timing_check); } + virtual void enterDelayed_data(SV3_1aParser::Delayed_dataContext * /*ctx*/) override { } + virtual void exitDelayed_data(SV3_1aParser::Delayed_dataContext * ctx) override { addVObject (ctx, VObjectType::slDelayed_data); } + virtual void enterDelayed_reference(SV3_1aParser::Delayed_referenceContext * /*ctx*/) override { } + virtual void exitDelayed_reference(SV3_1aParser::Delayed_referenceContext * ctx) override { addVObject (ctx, VObjectType::slDelayed_reference); } + virtual void enterEnd_edge_offset(SV3_1aParser::End_edge_offsetContext * /*ctx*/) override { } + virtual void exitEnd_edge_offset(SV3_1aParser::End_edge_offsetContext * ctx) override { addVObject (ctx, VObjectType::slEnd_edge_offset); } + virtual void enterEvent_based_flag(SV3_1aParser::Event_based_flagContext * /*ctx*/) override { } + virtual void exitEvent_based_flag(SV3_1aParser::Event_based_flagContext * ctx) override { addVObject (ctx, VObjectType::slEvent_based_flag); } + virtual void enterNotifier(SV3_1aParser::NotifierContext * /*ctx*/) override { } + virtual void exitNotifier(SV3_1aParser::NotifierContext * ctx) override { addVObject (ctx, VObjectType::slNotifier); } + virtual void enterReference_event(SV3_1aParser::Reference_eventContext * /*ctx*/) override { } + virtual void exitReference_event(SV3_1aParser::Reference_eventContext * ctx) override { addVObject (ctx, VObjectType::slReference_event); } + virtual void enterRemain_active_flag(SV3_1aParser::Remain_active_flagContext * /*ctx*/) override { } + virtual void exitRemain_active_flag(SV3_1aParser::Remain_active_flagContext * ctx) override { addVObject (ctx, VObjectType::slRemain_active_flag); } + virtual void enterStamptime_condition(SV3_1aParser::Stamptime_conditionContext * /*ctx*/) override { } + virtual void exitStamptime_condition(SV3_1aParser::Stamptime_conditionContext * ctx) override { addVObject (ctx, VObjectType::slStamptime_condition); } + virtual void enterStart_edge_offset(SV3_1aParser::Start_edge_offsetContext * /*ctx*/) override { } + virtual void exitStart_edge_offset(SV3_1aParser::Start_edge_offsetContext * ctx) override { addVObject (ctx, VObjectType::slStart_edge_offset); } + virtual void enterThreshold(SV3_1aParser::ThresholdContext * /*ctx*/) override { } + virtual void exitThreshold(SV3_1aParser::ThresholdContext * ctx) override { addVObject (ctx, VObjectType::slThreshold); } + virtual void enterTiming_check_limit(SV3_1aParser::Timing_check_limitContext * /*ctx*/) override { } + virtual void exitTiming_check_limit(SV3_1aParser::Timing_check_limitContext * ctx) override { addVObject (ctx, VObjectType::slTiming_check_limit); } + virtual void enterTiming_check_event(SV3_1aParser::Timing_check_eventContext * /*ctx*/) override { } + virtual void exitTiming_check_event(SV3_1aParser::Timing_check_eventContext * ctx) override { addVObject (ctx, VObjectType::slTiming_check_event); } + virtual void enterControlled_timing_check_event(SV3_1aParser::Controlled_timing_check_eventContext * /*ctx*/) override { } + virtual void exitControlled_timing_check_event(SV3_1aParser::Controlled_timing_check_eventContext * ctx) override { addVObject (ctx, VObjectType::slControlled_timing_check_event); } + virtual void enterTimingCheckEventControl_Posedge(SV3_1aParser::TimingCheckEventControl_PosedgeContext * /*ctx*/) override { } + virtual void exitTimingCheckEventControl_Posedge(SV3_1aParser::TimingCheckEventControl_PosedgeContext * ctx) override { addVObject (ctx, VObjectType::slTimingCheckEventControl_Posedge); } + virtual void enterTimingCheckEventControl_Negedge(SV3_1aParser::TimingCheckEventControl_NegedgeContext * /*ctx*/) override { } + virtual void exitTimingCheckEventControl_Negedge(SV3_1aParser::TimingCheckEventControl_NegedgeContext * ctx) override { addVObject (ctx, VObjectType::slTimingCheckEventControl_Negedge); } + virtual void enterTimingCheckEventControl_Edge(SV3_1aParser::TimingCheckEventControl_EdgeContext * /*ctx*/) override { } + virtual void exitTimingCheckEventControl_Edge(SV3_1aParser::TimingCheckEventControl_EdgeContext * ctx) override { addVObject (ctx, VObjectType::slTimingCheckEventControl_Edge); } + virtual void enterSpecify_terminal_descriptor(SV3_1aParser::Specify_terminal_descriptorContext * /*ctx*/) override { } + virtual void exitSpecify_terminal_descriptor(SV3_1aParser::Specify_terminal_descriptorContext * ctx) override { addVObject (ctx, VObjectType::slSpecify_terminal_descriptor); } + virtual void enterEdge_control_specifier(SV3_1aParser::Edge_control_specifierContext * /*ctx*/) override { } + virtual void exitEdge_control_specifier(SV3_1aParser::Edge_control_specifierContext * ctx) override { addVObject (ctx, VObjectType::slEdge_control_specifier); } + virtual void enterEdge_descriptor(SV3_1aParser::Edge_descriptorContext * /*ctx*/) override { } + virtual void exitEdge_descriptor(SV3_1aParser::Edge_descriptorContext * ctx) override { addVObject (ctx, VObjectType::slEdge_descriptor); } + virtual void enterTiming_check_condition(SV3_1aParser::Timing_check_conditionContext * /*ctx*/) override { } + virtual void exitTiming_check_condition(SV3_1aParser::Timing_check_conditionContext * ctx) override { addVObject (ctx, VObjectType::slTiming_check_condition); } + virtual void enterScalar_timing_check_condition(SV3_1aParser::Scalar_timing_check_conditionContext * /*ctx*/) override { } + virtual void exitScalar_timing_check_condition(SV3_1aParser::Scalar_timing_check_conditionContext * ctx) override { addVObject (ctx, VObjectType::slScalar_timing_check_condition); } + virtual void enterScalar_1Tickb0(SV3_1aParser::Scalar_1Tickb0Context * /*ctx*/) override { } + virtual void exitScalar_1Tickb0(SV3_1aParser::Scalar_1Tickb0Context * ctx) override { addVObject (ctx, VObjectType::slScalar_1Tickb0); } + virtual void enterScalar_1Tickb1(SV3_1aParser::Scalar_1Tickb1Context * /*ctx*/) override { } + virtual void exitScalar_1Tickb1(SV3_1aParser::Scalar_1Tickb1Context * ctx) override { addVObject (ctx, VObjectType::slScalar_1Tickb1); } + virtual void enterScalar_1TickB0(SV3_1aParser::Scalar_1TickB0Context * /*ctx*/) override { } + virtual void exitScalar_1TickB0(SV3_1aParser::Scalar_1TickB0Context * ctx) override { addVObject (ctx, VObjectType::slScalar_1TickB0); } + virtual void enterScalar_1TickB1(SV3_1aParser::Scalar_1TickB1Context * /*ctx*/) override { } + virtual void exitScalar_1TickB1(SV3_1aParser::Scalar_1TickB1Context * ctx) override { addVObject (ctx, VObjectType::slScalar_1TickB1); } + virtual void enterScalar_Tickb0(SV3_1aParser::Scalar_Tickb0Context * /*ctx*/) override { } + virtual void exitScalar_Tickb0(SV3_1aParser::Scalar_Tickb0Context * ctx) override { addVObject (ctx, VObjectType::slScalar_Tickb0); } + virtual void enterScalar_Tickb1(SV3_1aParser::Scalar_Tickb1Context * /*ctx*/) override { } + virtual void exitScalar_Tickb1(SV3_1aParser::Scalar_Tickb1Context * ctx) override { addVObject (ctx, VObjectType::slScalar_Tickb1); } + virtual void enterScalar_TickB0(SV3_1aParser::Scalar_TickB0Context * /*ctx*/) override { } + virtual void exitScalar_TickB0(SV3_1aParser::Scalar_TickB0Context * ctx) override { addVObject (ctx, VObjectType::slScalar_TickB0); } + virtual void enterScalar_TickB1(SV3_1aParser::Scalar_TickB1Context * /*ctx*/) override { } + virtual void exitScalar_TickB1(SV3_1aParser::Scalar_TickB1Context * ctx) override { addVObject (ctx, VObjectType::slScalar_TickB1); } + virtual void enterScalar_Integral(SV3_1aParser::Scalar_IntegralContext * /*ctx*/) override { } + virtual void exitScalar_Integral(SV3_1aParser::Scalar_IntegralContext * ctx) override { addVObject (ctx, VObjectType::slScalar_Integral); } + virtual void enterConcatenation(SV3_1aParser::ConcatenationContext * /*ctx*/) override { } + virtual void exitConcatenation(SV3_1aParser::ConcatenationContext * ctx) override { addVObject (ctx, VObjectType::slConcatenation); } + virtual void enterConstant_concatenation(SV3_1aParser::Constant_concatenationContext * /*ctx*/) override { } + virtual void exitConstant_concatenation(SV3_1aParser::Constant_concatenationContext * ctx) override { addVObject (ctx, VObjectType::slConstant_concatenation); } + virtual void enterArray_member_label(SV3_1aParser::Array_member_labelContext * /*ctx*/) override { } + virtual void exitArray_member_label(SV3_1aParser::Array_member_labelContext * ctx) override { addVObject (ctx, VObjectType::slArray_member_label); } + virtual void enterConstant_multiple_concatenation(SV3_1aParser::Constant_multiple_concatenationContext * /*ctx*/) override { } + virtual void exitConstant_multiple_concatenation(SV3_1aParser::Constant_multiple_concatenationContext * ctx) override { addVObject (ctx, VObjectType::slConstant_multiple_concatenation); } + virtual void enterModule_path_concatenation(SV3_1aParser::Module_path_concatenationContext * /*ctx*/) override { } + virtual void exitModule_path_concatenation(SV3_1aParser::Module_path_concatenationContext * ctx) override { addVObject (ctx, VObjectType::slModule_path_concatenation); } + virtual void enterModule_path_multiple_concatenation(SV3_1aParser::Module_path_multiple_concatenationContext * /*ctx*/) override { } + virtual void exitModule_path_multiple_concatenation(SV3_1aParser::Module_path_multiple_concatenationContext * ctx) override { addVObject (ctx, VObjectType::slModule_path_multiple_concatenation); } + virtual void enterMultiple_concatenation(SV3_1aParser::Multiple_concatenationContext * /*ctx*/) override { } + virtual void exitMultiple_concatenation(SV3_1aParser::Multiple_concatenationContext * ctx) override { addVObject (ctx, VObjectType::slMultiple_concatenation); } + virtual void enterStreaming_concatenation(SV3_1aParser::Streaming_concatenationContext * /*ctx*/) override { } + virtual void exitStreaming_concatenation(SV3_1aParser::Streaming_concatenationContext * ctx) override { addVObject (ctx, VObjectType::slStreaming_concatenation); } + virtual void enterStream_operator(SV3_1aParser::Stream_operatorContext * /*ctx*/) override { } + virtual void exitStream_operator(SV3_1aParser::Stream_operatorContext * ctx) override { addVObject (ctx, VObjectType::slStream_operator); } + virtual void enterSlice_size(SV3_1aParser::Slice_sizeContext * /*ctx*/) override { } + virtual void exitSlice_size(SV3_1aParser::Slice_sizeContext * ctx) override { addVObject (ctx, VObjectType::slSlice_size); } + virtual void enterStream_concatenation(SV3_1aParser::Stream_concatenationContext * /*ctx*/) override { } + virtual void exitStream_concatenation(SV3_1aParser::Stream_concatenationContext * ctx) override { addVObject (ctx, VObjectType::slStream_concatenation); } + virtual void enterStream_expression(SV3_1aParser::Stream_expressionContext * /*ctx*/) override { } + virtual void exitStream_expression(SV3_1aParser::Stream_expressionContext * ctx) override { addVObject (ctx, VObjectType::slStream_expression); } + virtual void enterArray_range_expression(SV3_1aParser::Array_range_expressionContext * /*ctx*/) override { } + virtual void exitArray_range_expression(SV3_1aParser::Array_range_expressionContext * ctx) override { addVObject (ctx, VObjectType::slArray_range_expression); } + virtual void enterEmpty_queue(SV3_1aParser::Empty_queueContext * /*ctx*/) override { } + virtual void exitEmpty_queue(SV3_1aParser::Empty_queueContext * ctx) override { addVObject (ctx, VObjectType::slEmpty_queue); } + virtual void enterSubroutine_call(SV3_1aParser::Subroutine_callContext * /*ctx*/) override { } + virtual void exitSubroutine_call(SV3_1aParser::Subroutine_callContext * ctx) override { addVObject (ctx, VObjectType::slSubroutine_call); } + virtual void enterList_of_arguments(SV3_1aParser::List_of_argumentsContext * /*ctx*/) override { } + virtual void exitList_of_arguments(SV3_1aParser::List_of_argumentsContext * ctx) override { addVObject (ctx, VObjectType::slList_of_arguments); } + virtual void enterMethod_call(SV3_1aParser::Method_callContext * /*ctx*/) override { } + virtual void exitMethod_call(SV3_1aParser::Method_callContext * ctx) override { addVObject (ctx, VObjectType::slMethod_call); } + virtual void enterMethod_call_body(SV3_1aParser::Method_call_bodyContext * /*ctx*/) override { } + virtual void exitMethod_call_body(SV3_1aParser::Method_call_bodyContext * ctx) override { addVObject (ctx, VObjectType::slMethod_call_body); } + virtual void enterBuilt_in_method_call(SV3_1aParser::Built_in_method_callContext * /*ctx*/) override { } + virtual void exitBuilt_in_method_call(SV3_1aParser::Built_in_method_callContext * ctx) override { addVObject (ctx, VObjectType::slBuilt_in_method_call); } + virtual void enterArray_manipulation_call(SV3_1aParser::Array_manipulation_callContext * /*ctx*/) override { } + virtual void exitArray_manipulation_call(SV3_1aParser::Array_manipulation_callContext * ctx) override { addVObject (ctx, VObjectType::slArray_manipulation_call); } + virtual void enterRandomize_call(SV3_1aParser::Randomize_callContext * /*ctx*/) override { } + virtual void exitRandomize_call(SV3_1aParser::Randomize_callContext * ctx) override { addVObject (ctx, VObjectType::slRandomize_call); } + virtual void enterMethod_call_root(SV3_1aParser::Method_call_rootContext * /*ctx*/) override { } + virtual void exitMethod_call_root(SV3_1aParser::Method_call_rootContext * ctx) override { addVObject (ctx, VObjectType::slMethod_call_root); } + virtual void enterArray_method_name(SV3_1aParser::Array_method_nameContext * /*ctx*/) override { } + virtual void exitArray_method_name(SV3_1aParser::Array_method_nameContext * ctx) override { addVObject (ctx, VObjectType::slArray_method_name); } + virtual void enterUnique_call(SV3_1aParser::Unique_callContext * /*ctx*/) override { } + virtual void exitUnique_call(SV3_1aParser::Unique_callContext * ctx) override { addVObject (ctx, VObjectType::slUnique_call); } + virtual void enterAnd_call(SV3_1aParser::And_callContext * /*ctx*/) override { } + virtual void exitAnd_call(SV3_1aParser::And_callContext * ctx) override { addVObject (ctx, VObjectType::slAnd_call); } + virtual void enterOr_call(SV3_1aParser::Or_callContext * /*ctx*/) override { } + virtual void exitOr_call(SV3_1aParser::Or_callContext * ctx) override { addVObject (ctx, VObjectType::slOr_call); } + virtual void enterXor_call(SV3_1aParser::Xor_callContext * /*ctx*/) override { } + virtual void exitXor_call(SV3_1aParser::Xor_callContext * ctx) override { addVObject (ctx, VObjectType::slXor_call); } + virtual void enterInc_or_dec_expression(SV3_1aParser::Inc_or_dec_expressionContext * /*ctx*/) override { } + virtual void exitInc_or_dec_expression(SV3_1aParser::Inc_or_dec_expressionContext * ctx) override { addVObject (ctx, VObjectType::slInc_or_dec_expression); } + virtual void enterConstant_expression(SV3_1aParser::Constant_expressionContext * /*ctx*/) override { } + virtual void exitConstant_expression(SV3_1aParser::Constant_expressionContext * ctx) override { addVObject (ctx, VObjectType::slConstant_expression); } + virtual void enterConstant_mintypmax_expression(SV3_1aParser::Constant_mintypmax_expressionContext * /*ctx*/) override { } + virtual void exitConstant_mintypmax_expression(SV3_1aParser::Constant_mintypmax_expressionContext * ctx) override { addVObject (ctx, VObjectType::slConstant_mintypmax_expression); } + virtual void enterConstant_param_expression(SV3_1aParser::Constant_param_expressionContext * /*ctx*/) override { } + virtual void exitConstant_param_expression(SV3_1aParser::Constant_param_expressionContext * ctx) override { addVObject (ctx, VObjectType::slConstant_param_expression); } + virtual void enterParam_expression(SV3_1aParser::Param_expressionContext * /*ctx*/) override { } + virtual void exitParam_expression(SV3_1aParser::Param_expressionContext * ctx) override { addVObject (ctx, VObjectType::slParam_expression); } + virtual void enterConstant_range_expression(SV3_1aParser::Constant_range_expressionContext * /*ctx*/) override { } + virtual void exitConstant_range_expression(SV3_1aParser::Constant_range_expressionContext * ctx) override { addVObject (ctx, VObjectType::slConstant_range_expression); } + virtual void enterConstant_part_select_range(SV3_1aParser::Constant_part_select_rangeContext * /*ctx*/) override { } + virtual void exitConstant_part_select_range(SV3_1aParser::Constant_part_select_rangeContext * ctx) override { addVObject (ctx, VObjectType::slConstant_part_select_range); } + virtual void enterConstant_range(SV3_1aParser::Constant_rangeContext * /*ctx*/) override { } + virtual void exitConstant_range(SV3_1aParser::Constant_rangeContext * ctx) override { addVObject (ctx, VObjectType::slConstant_range); } + virtual void enterConstant_indexed_range(SV3_1aParser::Constant_indexed_rangeContext * /*ctx*/) override { } + virtual void exitConstant_indexed_range(SV3_1aParser::Constant_indexed_rangeContext * ctx) override { addVObject (ctx, VObjectType::slConstant_indexed_range); } + virtual void enterExpression(SV3_1aParser::ExpressionContext * /*ctx*/) override { } + virtual void exitExpression(SV3_1aParser::ExpressionContext * ctx) override { addVObject (ctx, VObjectType::slExpression); } + virtual void enterTagged_union_expression(SV3_1aParser::Tagged_union_expressionContext * /*ctx*/) override { } + virtual void exitTagged_union_expression(SV3_1aParser::Tagged_union_expressionContext * ctx) override { addVObject (ctx, VObjectType::slTagged_union_expression); } + virtual void enterValue_range(SV3_1aParser::Value_rangeContext * /*ctx*/) override { } + virtual void exitValue_range(SV3_1aParser::Value_rangeContext * ctx) override { addVObject (ctx, VObjectType::slValue_range); } + virtual void enterMintypmax_expression(SV3_1aParser::Mintypmax_expressionContext * /*ctx*/) override { } + virtual void exitMintypmax_expression(SV3_1aParser::Mintypmax_expressionContext * ctx) override { addVObject (ctx, VObjectType::slMintypmax_expression); } + virtual void enterModule_path_expression(SV3_1aParser::Module_path_expressionContext * /*ctx*/) override { } + virtual void exitModule_path_expression(SV3_1aParser::Module_path_expressionContext * ctx) override { addVObject (ctx, VObjectType::slModule_path_expression); } + virtual void enterModule_path_mintypmax_expression(SV3_1aParser::Module_path_mintypmax_expressionContext * /*ctx*/) override { } + virtual void exitModule_path_mintypmax_expression(SV3_1aParser::Module_path_mintypmax_expressionContext * ctx) override { addVObject (ctx, VObjectType::slModule_path_mintypmax_expression); } + virtual void enterRange_expression(SV3_1aParser::Range_expressionContext * /*ctx*/) override { } + virtual void exitRange_expression(SV3_1aParser::Range_expressionContext * ctx) override { addVObject (ctx, VObjectType::slRange_expression); } + virtual void enterPart_select_range(SV3_1aParser::Part_select_rangeContext * /*ctx*/) override { } + virtual void exitPart_select_range(SV3_1aParser::Part_select_rangeContext * ctx) override { addVObject (ctx, VObjectType::slPart_select_range); } + virtual void enterIndexed_range(SV3_1aParser::Indexed_rangeContext * /*ctx*/) override { } + virtual void exitIndexed_range(SV3_1aParser::Indexed_rangeContext * ctx) override { addVObject (ctx, VObjectType::slIndexed_range); } + virtual void enterConstant_primary(SV3_1aParser::Constant_primaryContext * /*ctx*/) override { } + virtual void exitConstant_primary(SV3_1aParser::Constant_primaryContext * ctx) override { addVObject (ctx, VObjectType::slConstant_primary); } + virtual void enterModule_path_primary(SV3_1aParser::Module_path_primaryContext * /*ctx*/) override { } + virtual void exitModule_path_primary(SV3_1aParser::Module_path_primaryContext * ctx) override { addVObject (ctx, VObjectType::slModule_path_primary); } + virtual void enterComplex_func_call(SV3_1aParser::Complex_func_callContext * /*ctx*/) override { } + virtual void exitComplex_func_call(SV3_1aParser::Complex_func_callContext * ctx) override { addVObject (ctx, VObjectType::slComplex_func_call); } + virtual void enterPrimary(SV3_1aParser::PrimaryContext * /*ctx*/) override { } + virtual void exitPrimary(SV3_1aParser::PrimaryContext * ctx) override { addVObject (ctx, VObjectType::slPrimary); } + virtual void enterThis_keyword(SV3_1aParser::This_keywordContext * /*ctx*/) override { } + virtual void exitThis_keyword(SV3_1aParser::This_keywordContext * ctx) override { addVObject (ctx, VObjectType::slThis_keyword); } + virtual void enterSuper_keyword(SV3_1aParser::Super_keywordContext * /*ctx*/) override { } + virtual void exitSuper_keyword(SV3_1aParser::Super_keywordContext * ctx) override { addVObject (ctx, VObjectType::slSuper_keyword); } + virtual void enterDollar_keyword(SV3_1aParser::Dollar_keywordContext * /*ctx*/) override { } + virtual void exitDollar_keyword(SV3_1aParser::Dollar_keywordContext * ctx) override { addVObject (ctx, VObjectType::slDollar_keyword); } + virtual void enterDollar_root_keyword(SV3_1aParser::Dollar_root_keywordContext * /*ctx*/) override { } + virtual void exitDollar_root_keyword(SV3_1aParser::Dollar_root_keywordContext * ctx) override { addVObject (ctx, VObjectType::slDollar_root_keyword); } + virtual void enterThis_dot_super(SV3_1aParser::This_dot_superContext * /*ctx*/) override { } + virtual void exitThis_dot_super(SV3_1aParser::This_dot_superContext * ctx) override { addVObject (ctx, VObjectType::slThis_dot_super); } + virtual void enterNull_keyword(SV3_1aParser::Null_keywordContext * /*ctx*/) override { } + virtual void exitNull_keyword(SV3_1aParser::Null_keywordContext * ctx) override { addVObject (ctx, VObjectType::slNull_keyword); } + virtual void enterTime_literal(SV3_1aParser::Time_literalContext * /*ctx*/) override { } + virtual void exitTime_literal(SV3_1aParser::Time_literalContext * ctx) override { addVObject (ctx, VObjectType::slTime_literal); } + virtual void enterTime_unit(SV3_1aParser::Time_unitContext * /*ctx*/) override { } + virtual void exitTime_unit(SV3_1aParser::Time_unitContext * ctx) override { addVObject (ctx, VObjectType::slTime_unit); } + virtual void enterImplicit_class_handle(SV3_1aParser::Implicit_class_handleContext * /*ctx*/) override { } + virtual void exitImplicit_class_handle(SV3_1aParser::Implicit_class_handleContext * ctx) override { addVObject (ctx, VObjectType::slImplicit_class_handle); } + virtual void enterBit_select(SV3_1aParser::Bit_selectContext * /*ctx*/) override { } + virtual void exitBit_select(SV3_1aParser::Bit_selectContext * ctx) override { addVObject (ctx, VObjectType::slBit_select); } + virtual void enterSelect(SV3_1aParser::SelectContext * /*ctx*/) override { } + virtual void exitSelect(SV3_1aParser::SelectContext * ctx) override { addVObject (ctx, VObjectType::slSelect); } + virtual void enterNonrange_select(SV3_1aParser::Nonrange_selectContext * /*ctx*/) override { } + virtual void exitNonrange_select(SV3_1aParser::Nonrange_selectContext * ctx) override { addVObject (ctx, VObjectType::slNonrange_select); } + virtual void enterConstant_bit_select(SV3_1aParser::Constant_bit_selectContext * /*ctx*/) override { } + virtual void exitConstant_bit_select(SV3_1aParser::Constant_bit_selectContext * ctx) override { addVObject (ctx, VObjectType::slConstant_bit_select); } + virtual void enterConstant_select(SV3_1aParser::Constant_selectContext * /*ctx*/) override { } + virtual void exitConstant_select(SV3_1aParser::Constant_selectContext * ctx) override { addVObject (ctx, VObjectType::slConstant_select); } + virtual void enterPrimary_literal(SV3_1aParser::Primary_literalContext * /*ctx*/) override { } + virtual void exitPrimary_literal(SV3_1aParser::Primary_literalContext * ctx) override { addVObject (ctx, VObjectType::slPrimary_literal); } + virtual void enterConstant_cast(SV3_1aParser::Constant_castContext * /*ctx*/) override { } + virtual void exitConstant_cast(SV3_1aParser::Constant_castContext * ctx) override { addVObject (ctx, VObjectType::slConstant_cast); } + virtual void enterCast(SV3_1aParser::CastContext * /*ctx*/) override { } + virtual void exitCast(SV3_1aParser::CastContext * ctx) override { addVObject (ctx, VObjectType::slCast); } + virtual void enterNet_lvalue(SV3_1aParser::Net_lvalueContext * /*ctx*/) override { } + virtual void exitNet_lvalue(SV3_1aParser::Net_lvalueContext * ctx) override { addVObject (ctx, VObjectType::slNet_lvalue); } + virtual void enterVariable_lvalue(SV3_1aParser::Variable_lvalueContext * /*ctx*/) override { } + virtual void exitVariable_lvalue(SV3_1aParser::Variable_lvalueContext * ctx) override { addVObject (ctx, VObjectType::slVariable_lvalue); } + virtual void enterNonrange_variable_lvalue(SV3_1aParser::Nonrange_variable_lvalueContext * /*ctx*/) override { } + virtual void exitNonrange_variable_lvalue(SV3_1aParser::Nonrange_variable_lvalueContext * ctx) override { addVObject (ctx, VObjectType::slNonrange_variable_lvalue); } + virtual void enterUnary_Plus(SV3_1aParser::Unary_PlusContext * /*ctx*/) override { } + virtual void exitUnary_Plus(SV3_1aParser::Unary_PlusContext * ctx) override { addVObject (ctx, VObjectType::slUnary_Plus); } + virtual void enterUnary_Minus(SV3_1aParser::Unary_MinusContext * /*ctx*/) override { } + virtual void exitUnary_Minus(SV3_1aParser::Unary_MinusContext * ctx) override { addVObject (ctx, VObjectType::slUnary_Minus); } + virtual void enterUnary_Not(SV3_1aParser::Unary_NotContext * /*ctx*/) override { } + virtual void exitUnary_Not(SV3_1aParser::Unary_NotContext * ctx) override { addVObject (ctx, VObjectType::slUnary_Not); } + virtual void enterUnary_Tilda(SV3_1aParser::Unary_TildaContext * /*ctx*/) override { } + virtual void exitUnary_Tilda(SV3_1aParser::Unary_TildaContext * ctx) override { addVObject (ctx, VObjectType::slUnary_Tilda); } + virtual void enterUnary_BitwAnd(SV3_1aParser::Unary_BitwAndContext * /*ctx*/) override { } + virtual void exitUnary_BitwAnd(SV3_1aParser::Unary_BitwAndContext * ctx) override { addVObject (ctx, VObjectType::slUnary_BitwAnd); } + virtual void enterUnary_ReductNand(SV3_1aParser::Unary_ReductNandContext * /*ctx*/) override { } + virtual void exitUnary_ReductNand(SV3_1aParser::Unary_ReductNandContext * ctx) override { addVObject (ctx, VObjectType::slUnary_ReductNand); } + virtual void enterUnary_BitwOr(SV3_1aParser::Unary_BitwOrContext * /*ctx*/) override { } + virtual void exitUnary_BitwOr(SV3_1aParser::Unary_BitwOrContext * ctx) override { addVObject (ctx, VObjectType::slUnary_BitwOr); } + virtual void enterUnary_ReductNor(SV3_1aParser::Unary_ReductNorContext * /*ctx*/) override { } + virtual void exitUnary_ReductNor(SV3_1aParser::Unary_ReductNorContext * ctx) override { addVObject (ctx, VObjectType::slUnary_ReductNor); } + virtual void enterUnary_BitwXor(SV3_1aParser::Unary_BitwXorContext * /*ctx*/) override { } + virtual void exitUnary_BitwXor(SV3_1aParser::Unary_BitwXorContext * ctx) override { addVObject (ctx, VObjectType::slUnary_BitwXor); } + virtual void enterUnary_ReductXnor1(SV3_1aParser::Unary_ReductXnor1Context * /*ctx*/) override { } + virtual void exitUnary_ReductXnor1(SV3_1aParser::Unary_ReductXnor1Context * ctx) override { addVObject (ctx, VObjectType::slUnary_ReductXnor1); } + virtual void enterUnary_ReductXnor2(SV3_1aParser::Unary_ReductXnor2Context * /*ctx*/) override { } + virtual void exitUnary_ReductXnor2(SV3_1aParser::Unary_ReductXnor2Context * ctx) override { addVObject (ctx, VObjectType::slUnary_ReductXnor2); } + virtual void enterBinOp_Plus(SV3_1aParser::BinOp_PlusContext * /*ctx*/) override { } + virtual void exitBinOp_Plus(SV3_1aParser::BinOp_PlusContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Plus); } + virtual void enterBinOp_Minus(SV3_1aParser::BinOp_MinusContext * /*ctx*/) override { } + virtual void exitBinOp_Minus(SV3_1aParser::BinOp_MinusContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Minus); } + virtual void enterBinOp_Mult(SV3_1aParser::BinOp_MultContext * /*ctx*/) override { } + virtual void exitBinOp_Mult(SV3_1aParser::BinOp_MultContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Mult); } + virtual void enterBinOp_Div(SV3_1aParser::BinOp_DivContext * /*ctx*/) override { } + virtual void exitBinOp_Div(SV3_1aParser::BinOp_DivContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Div); } + virtual void enterBinOp_Percent(SV3_1aParser::BinOp_PercentContext * /*ctx*/) override { } + virtual void exitBinOp_Percent(SV3_1aParser::BinOp_PercentContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Percent); } + virtual void enterBinOp_Equiv(SV3_1aParser::BinOp_EquivContext * /*ctx*/) override { } + virtual void exitBinOp_Equiv(SV3_1aParser::BinOp_EquivContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Equiv); } + virtual void enterBinOp_Not(SV3_1aParser::BinOp_NotContext * /*ctx*/) override { } + virtual void exitBinOp_Not(SV3_1aParser::BinOp_NotContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Not); } + virtual void enterBinOp_FourStateLogicEqual(SV3_1aParser::BinOp_FourStateLogicEqualContext * /*ctx*/) override { } + virtual void exitBinOp_FourStateLogicEqual(SV3_1aParser::BinOp_FourStateLogicEqualContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_FourStateLogicEqual); } + virtual void enterBinOp_FourStateLogicNotEqual(SV3_1aParser::BinOp_FourStateLogicNotEqualContext * /*ctx*/) override { } + virtual void exitBinOp_FourStateLogicNotEqual(SV3_1aParser::BinOp_FourStateLogicNotEqualContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_FourStateLogicNotEqual); } + virtual void enterBinOp_WildEqual(SV3_1aParser::BinOp_WildEqualContext * /*ctx*/) override { } + virtual void exitBinOp_WildEqual(SV3_1aParser::BinOp_WildEqualContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_WildEqual); } + virtual void enterBinOp_WildNotEqual(SV3_1aParser::BinOp_WildNotEqualContext * /*ctx*/) override { } + virtual void exitBinOp_WildNotEqual(SV3_1aParser::BinOp_WildNotEqualContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_WildNotEqual); } + virtual void enterBinOp_LogicAnd(SV3_1aParser::BinOp_LogicAndContext * /*ctx*/) override { } + virtual void exitBinOp_LogicAnd(SV3_1aParser::BinOp_LogicAndContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_LogicAnd); } + virtual void enterBinOp_LogicOr(SV3_1aParser::BinOp_LogicOrContext * /*ctx*/) override { } + virtual void exitBinOp_LogicOr(SV3_1aParser::BinOp_LogicOrContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_LogicOr); } + virtual void enterBinOp_MultMult(SV3_1aParser::BinOp_MultMultContext * /*ctx*/) override { } + virtual void exitBinOp_MultMult(SV3_1aParser::BinOp_MultMultContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_MultMult); } + virtual void enterBinOp_Less(SV3_1aParser::BinOp_LessContext * /*ctx*/) override { } + virtual void exitBinOp_Less(SV3_1aParser::BinOp_LessContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Less); } + virtual void enterBinOp_LessEqual(SV3_1aParser::BinOp_LessEqualContext * /*ctx*/) override { } + virtual void exitBinOp_LessEqual(SV3_1aParser::BinOp_LessEqualContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_LessEqual); } + virtual void enterBinOp_Great(SV3_1aParser::BinOp_GreatContext * /*ctx*/) override { } + virtual void exitBinOp_Great(SV3_1aParser::BinOp_GreatContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Great); } + virtual void enterBinOp_GreatEqual(SV3_1aParser::BinOp_GreatEqualContext * /*ctx*/) override { } + virtual void exitBinOp_GreatEqual(SV3_1aParser::BinOp_GreatEqualContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_GreatEqual); } + virtual void enterBinOp_BitwAnd(SV3_1aParser::BinOp_BitwAndContext * /*ctx*/) override { } + virtual void exitBinOp_BitwAnd(SV3_1aParser::BinOp_BitwAndContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_BitwAnd); } + virtual void enterBinOp_BitwOr(SV3_1aParser::BinOp_BitwOrContext * /*ctx*/) override { } + virtual void exitBinOp_BitwOr(SV3_1aParser::BinOp_BitwOrContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_BitwOr); } + virtual void enterBinOp_BitwXor(SV3_1aParser::BinOp_BitwXorContext * /*ctx*/) override { } + virtual void exitBinOp_BitwXor(SV3_1aParser::BinOp_BitwXorContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_BitwXor); } + virtual void enterBinOp_ReductXnor1(SV3_1aParser::BinOp_ReductXnor1Context * /*ctx*/) override { } + virtual void exitBinOp_ReductXnor1(SV3_1aParser::BinOp_ReductXnor1Context * ctx) override { addVObject (ctx, VObjectType::slBinOp_ReductXnor1); } + virtual void enterBinOp_ReductXnor2(SV3_1aParser::BinOp_ReductXnor2Context * /*ctx*/) override { } + virtual void exitBinOp_ReductXnor2(SV3_1aParser::BinOp_ReductXnor2Context * ctx) override { addVObject (ctx, VObjectType::slBinOp_ReductXnor2); } + virtual void enterBinOp_ReductNor(SV3_1aParser::BinOp_ReductNorContext * /*ctx*/) override { } + virtual void exitBinOp_ReductNor(SV3_1aParser::BinOp_ReductNorContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_ReductNor); } + virtual void enterBinOp_ReductNand(SV3_1aParser::BinOp_ReductNandContext * /*ctx*/) override { } + virtual void exitBinOp_ReductNand(SV3_1aParser::BinOp_ReductNandContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_ReductNand); } + virtual void enterBinOp_ShiftRight(SV3_1aParser::BinOp_ShiftRightContext * /*ctx*/) override { } + virtual void exitBinOp_ShiftRight(SV3_1aParser::BinOp_ShiftRightContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_ShiftRight); } + virtual void enterBinOp_ShiftLeft(SV3_1aParser::BinOp_ShiftLeftContext * /*ctx*/) override { } + virtual void exitBinOp_ShiftLeft(SV3_1aParser::BinOp_ShiftLeftContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_ShiftLeft); } + virtual void enterBinOp_ArithShiftRight(SV3_1aParser::BinOp_ArithShiftRightContext * /*ctx*/) override { } + virtual void exitBinOp_ArithShiftRight(SV3_1aParser::BinOp_ArithShiftRightContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_ArithShiftRight); } + virtual void enterBinOp_ArithShiftLeft(SV3_1aParser::BinOp_ArithShiftLeftContext * /*ctx*/) override { } + virtual void exitBinOp_ArithShiftLeft(SV3_1aParser::BinOp_ArithShiftLeftContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_ArithShiftLeft); } + virtual void enterBinOp_Imply(SV3_1aParser::BinOp_ImplyContext * /*ctx*/) override { } + virtual void exitBinOp_Imply(SV3_1aParser::BinOp_ImplyContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Imply); } + virtual void enterBinOp_Equivalence(SV3_1aParser::BinOp_EquivalenceContext * /*ctx*/) override { } + virtual void exitBinOp_Equivalence(SV3_1aParser::BinOp_EquivalenceContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_Equivalence); } + virtual void enterBinOp_WildcardEqual(SV3_1aParser::BinOp_WildcardEqualContext * /*ctx*/) override { } + virtual void exitBinOp_WildcardEqual(SV3_1aParser::BinOp_WildcardEqualContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_WildcardEqual); } + virtual void enterBinOp_WildcardNotEqual(SV3_1aParser::BinOp_WildcardNotEqualContext * /*ctx*/) override { } + virtual void exitBinOp_WildcardNotEqual(SV3_1aParser::BinOp_WildcardNotEqualContext * ctx) override { addVObject (ctx, VObjectType::slBinOp_WildcardNotEqual); } + virtual void enterIncDec_PlusPlus(SV3_1aParser::IncDec_PlusPlusContext * /*ctx*/) override { } + virtual void exitIncDec_PlusPlus(SV3_1aParser::IncDec_PlusPlusContext * ctx) override { addVObject (ctx, VObjectType::slIncDec_PlusPlus); } + virtual void enterIncDec_MinusMinus(SV3_1aParser::IncDec_MinusMinusContext * /*ctx*/) override { } + virtual void exitIncDec_MinusMinus(SV3_1aParser::IncDec_MinusMinusContext * ctx) override { addVObject (ctx, VObjectType::slIncDec_MinusMinus); } + virtual void enterUnaryModOp_Not(SV3_1aParser::UnaryModOp_NotContext * /*ctx*/) override { } + virtual void exitUnaryModOp_Not(SV3_1aParser::UnaryModOp_NotContext * ctx) override { addVObject (ctx, VObjectType::slUnaryModOp_Not); } + virtual void enterUnaryModOp_Tilda(SV3_1aParser::UnaryModOp_TildaContext * /*ctx*/) override { } + virtual void exitUnaryModOp_Tilda(SV3_1aParser::UnaryModOp_TildaContext * ctx) override { addVObject (ctx, VObjectType::slUnaryModOp_Tilda); } + virtual void enterUnaryModOp_BitwAnd(SV3_1aParser::UnaryModOp_BitwAndContext * /*ctx*/) override { } + virtual void exitUnaryModOp_BitwAnd(SV3_1aParser::UnaryModOp_BitwAndContext * ctx) override { addVObject (ctx, VObjectType::slUnaryModOp_BitwAnd); } + virtual void enterUnaryModOp_ReductNand(SV3_1aParser::UnaryModOp_ReductNandContext * /*ctx*/) override { } + virtual void exitUnaryModOp_ReductNand(SV3_1aParser::UnaryModOp_ReductNandContext * ctx) override { addVObject (ctx, VObjectType::slUnaryModOp_ReductNand); } + virtual void enterUnaryModOp_BitwOr(SV3_1aParser::UnaryModOp_BitwOrContext * /*ctx*/) override { } + virtual void exitUnaryModOp_BitwOr(SV3_1aParser::UnaryModOp_BitwOrContext * ctx) override { addVObject (ctx, VObjectType::slUnaryModOp_BitwOr); } + virtual void enterUnaryModOp_ReductNor(SV3_1aParser::UnaryModOp_ReductNorContext * /*ctx*/) override { } + virtual void exitUnaryModOp_ReductNor(SV3_1aParser::UnaryModOp_ReductNorContext * ctx) override { addVObject (ctx, VObjectType::slUnaryModOp_ReductNor); } + virtual void enterUnaryModOp_BitwXor(SV3_1aParser::UnaryModOp_BitwXorContext * /*ctx*/) override { } + virtual void exitUnaryModOp_BitwXor(SV3_1aParser::UnaryModOp_BitwXorContext * ctx) override { addVObject (ctx, VObjectType::slUnaryModOp_BitwXor); } + virtual void enterUnaryModOp_ReductXNor1(SV3_1aParser::UnaryModOp_ReductXNor1Context * /*ctx*/) override { } + virtual void exitUnaryModOp_ReductXNor1(SV3_1aParser::UnaryModOp_ReductXNor1Context * ctx) override { addVObject (ctx, VObjectType::slUnaryModOp_ReductXNor1); } + virtual void enterUnaryModOp_ReductXnor2(SV3_1aParser::UnaryModOp_ReductXnor2Context * /*ctx*/) override { } + virtual void exitUnaryModOp_ReductXnor2(SV3_1aParser::UnaryModOp_ReductXnor2Context * ctx) override { addVObject (ctx, VObjectType::slUnaryModOp_ReductXnor2); } + virtual void enterBinModOp_Equiv(SV3_1aParser::BinModOp_EquivContext * /*ctx*/) override { } + virtual void exitBinModOp_Equiv(SV3_1aParser::BinModOp_EquivContext * ctx) override { addVObject (ctx, VObjectType::slBinModOp_Equiv); } + virtual void enterBinModOp_NotEqual(SV3_1aParser::BinModOp_NotEqualContext * /*ctx*/) override { } + virtual void exitBinModOp_NotEqual(SV3_1aParser::BinModOp_NotEqualContext * ctx) override { addVObject (ctx, VObjectType::slBinModOp_NotEqual); } + virtual void enterBinModOp_LogicAnd(SV3_1aParser::BinModOp_LogicAndContext * /*ctx*/) override { } + virtual void exitBinModOp_LogicAnd(SV3_1aParser::BinModOp_LogicAndContext * ctx) override { addVObject (ctx, VObjectType::slBinModOp_LogicAnd); } + virtual void enterBinModOp_LogicOr(SV3_1aParser::BinModOp_LogicOrContext * /*ctx*/) override { } + virtual void exitBinModOp_LogicOr(SV3_1aParser::BinModOp_LogicOrContext * ctx) override { addVObject (ctx, VObjectType::slBinModOp_LogicOr); } + virtual void enterBinModOp_BitwAnd(SV3_1aParser::BinModOp_BitwAndContext * /*ctx*/) override { } + virtual void exitBinModOp_BitwAnd(SV3_1aParser::BinModOp_BitwAndContext * ctx) override { addVObject (ctx, VObjectType::slBinModOp_BitwAnd); } + virtual void enterBinModOp_BitwOr(SV3_1aParser::BinModOp_BitwOrContext * /*ctx*/) override { } + virtual void exitBinModOp_BitwOr(SV3_1aParser::BinModOp_BitwOrContext * ctx) override { addVObject (ctx, VObjectType::slBinModOp_BitwOr); } + virtual void enterBinModOp_BitwXor(SV3_1aParser::BinModOp_BitwXorContext * /*ctx*/) override { } + virtual void exitBinModOp_BitwXor(SV3_1aParser::BinModOp_BitwXorContext * ctx) override { addVObject (ctx, VObjectType::slBinModOp_BitwXor); } + virtual void enterBinModOp_ReductXnor1(SV3_1aParser::BinModOp_ReductXnor1Context * /*ctx*/) override { } + virtual void exitBinModOp_ReductXnor1(SV3_1aParser::BinModOp_ReductXnor1Context * ctx) override { addVObject (ctx, VObjectType::slBinModOp_ReductXnor1); } + virtual void enterBinModOp_ReductXnor2(SV3_1aParser::BinModOp_ReductXnor2Context * /*ctx*/) override { } + virtual void exitBinModOp_ReductXnor2(SV3_1aParser::BinModOp_ReductXnor2Context * ctx) override { addVObject (ctx, VObjectType::slBinModOp_ReductXnor2); } + virtual void enterNumber_Integral(SV3_1aParser::Number_IntegralContext * /*ctx*/) override { } + virtual void exitNumber_Integral(SV3_1aParser::Number_IntegralContext * /*ctx*/) override ; + virtual void enterNumber_Real(SV3_1aParser::Number_RealContext * /*ctx*/) override { } + virtual void exitNumber_Real(SV3_1aParser::Number_RealContext * /*ctx*/) override ; + virtual void enterNumber_1Tickb0(SV3_1aParser::Number_1Tickb0Context * /*ctx*/) override { } + virtual void exitNumber_1Tickb0(SV3_1aParser::Number_1Tickb0Context * ctx) override { addVObject (ctx, VObjectType::slNumber_1Tickb0); } + virtual void enterNumber_1Tickb1(SV3_1aParser::Number_1Tickb1Context * /*ctx*/) override { } + virtual void exitNumber_1Tickb1(SV3_1aParser::Number_1Tickb1Context * ctx) override { addVObject (ctx, VObjectType::slNumber_1Tickb1); } + virtual void enterNumber_1TickB0(SV3_1aParser::Number_1TickB0Context * /*ctx*/) override { } + virtual void exitNumber_1TickB0(SV3_1aParser::Number_1TickB0Context * ctx) override { addVObject (ctx, VObjectType::slNumber_1TickB0); } + virtual void enterNumber_1TickB1(SV3_1aParser::Number_1TickB1Context * /*ctx*/) override { } + virtual void exitNumber_1TickB1(SV3_1aParser::Number_1TickB1Context * ctx) override { addVObject (ctx, VObjectType::slNumber_1TickB1); } + virtual void enterNumber_Tickb0(SV3_1aParser::Number_Tickb0Context * /*ctx*/) override { } + virtual void exitNumber_Tickb0(SV3_1aParser::Number_Tickb0Context * ctx) override { addVObject (ctx, VObjectType::slNumber_Tickb0); } + virtual void enterNumber_Tickb1(SV3_1aParser::Number_Tickb1Context * /*ctx*/) override { } + virtual void exitNumber_Tickb1(SV3_1aParser::Number_Tickb1Context * ctx) override { addVObject (ctx, VObjectType::slNumber_Tickb1); } + virtual void enterNumber_TickB0(SV3_1aParser::Number_TickB0Context * /*ctx*/) override { } + virtual void exitNumber_TickB0(SV3_1aParser::Number_TickB0Context * ctx) override { addVObject (ctx, VObjectType::slNumber_TickB0); } + virtual void enterNumber_TickB1(SV3_1aParser::Number_TickB1Context * /*ctx*/) override { } + virtual void exitNumber_TickB1(SV3_1aParser::Number_TickB1Context * ctx) override { addVObject (ctx, VObjectType::slNumber_TickB1); } + virtual void enterNumber_Tick0(SV3_1aParser::Number_Tick0Context * /*ctx*/) override { } + virtual void exitNumber_Tick0(SV3_1aParser::Number_Tick0Context * ctx) override { addVObject (ctx, VObjectType::slNumber_Tick0); } + virtual void enterNumber_Tick1(SV3_1aParser::Number_Tick1Context * /*ctx*/) override { } + virtual void exitNumber_Tick1(SV3_1aParser::Number_Tick1Context * ctx) override { addVObject (ctx, VObjectType::slNumber_Tick1); } + virtual void enterNumber_1Tickbx(SV3_1aParser::Number_1TickbxContext * /*ctx*/) override { } + virtual void exitNumber_1Tickbx(SV3_1aParser::Number_1TickbxContext * ctx) override { addVObject (ctx, VObjectType::slNumber_1Tickbx); } + virtual void enterNumber_1TickbX(SV3_1aParser::Number_1TickbXContext * /*ctx*/) override { } + virtual void exitNumber_1TickbX(SV3_1aParser::Number_1TickbXContext * ctx) override { addVObject (ctx, VObjectType::slNumber_1TickbX); } + virtual void enterNumber_1TickBx(SV3_1aParser::Number_1TickBxContext * /*ctx*/) override { } + virtual void exitNumber_1TickBx(SV3_1aParser::Number_1TickBxContext * ctx) override { addVObject (ctx, VObjectType::slNumber_1TickBx); } + virtual void enterNumber_1TickBX(SV3_1aParser::Number_1TickBXContext * /*ctx*/) override { } + virtual void exitNumber_1TickBX(SV3_1aParser::Number_1TickBXContext * ctx) override { addVObject (ctx, VObjectType::slNumber_1TickBX); } + virtual void enterUnbased_unsized_literal(SV3_1aParser::Unbased_unsized_literalContext * /*ctx*/) override { } + virtual void exitUnbased_unsized_literal(SV3_1aParser::Unbased_unsized_literalContext * /*ctx*/) override ; + virtual void enterAttribute_instance(SV3_1aParser::Attribute_instanceContext * /*ctx*/) override { } + virtual void exitAttribute_instance(SV3_1aParser::Attribute_instanceContext * ctx) override { addVObject (ctx, VObjectType::slAttribute_instance); } + virtual void enterAttr_spec(SV3_1aParser::Attr_specContext * /*ctx*/) override { } + virtual void exitAttr_spec(SV3_1aParser::Attr_specContext * ctx) override { addVObject (ctx, VObjectType::slAttr_spec); } + virtual void enterAttr_name(SV3_1aParser::Attr_nameContext * /*ctx*/) override { } + virtual void exitAttr_name(SV3_1aParser::Attr_nameContext * ctx) override { addVObject (ctx, VObjectType::slAttr_name); } + virtual void enterHierarchical_identifier(SV3_1aParser::Hierarchical_identifierContext * /*ctx*/) override { } + virtual void exitHierarchical_identifier(SV3_1aParser::Hierarchical_identifierContext * /*ctx*/) override ; + virtual void enterIdentifier(SV3_1aParser::IdentifierContext * /*ctx*/) override { } + virtual void exitIdentifier(SV3_1aParser::IdentifierContext * /*ctx*/) override ; + virtual void enterInterface_identifier(SV3_1aParser::Interface_identifierContext * /*ctx*/) override { } + virtual void exitInterface_identifier(SV3_1aParser::Interface_identifierContext * ctx) override { addVObject (ctx, VObjectType::slInterface_identifier); } + virtual void enterPackage_scope(SV3_1aParser::Package_scopeContext * /*ctx*/) override { } + virtual void exitPackage_scope(SV3_1aParser::Package_scopeContext * /*ctx*/) override ; + virtual void enterPs_identifier(SV3_1aParser::Ps_identifierContext * /*ctx*/) override { } + virtual void exitPs_identifier(SV3_1aParser::Ps_identifierContext * ctx) override { addVObject (ctx, VObjectType::slPs_identifier); } + virtual void enterPs_or_hierarchical_identifier(SV3_1aParser::Ps_or_hierarchical_identifierContext * /*ctx*/) override { } + virtual void exitPs_or_hierarchical_identifier(SV3_1aParser::Ps_or_hierarchical_identifierContext * ctx) override { addVObject (ctx, VObjectType::slPs_or_hierarchical_identifier); } + virtual void enterPs_or_hierarchical_array_identifier(SV3_1aParser::Ps_or_hierarchical_array_identifierContext * /*ctx*/) override { } + virtual void exitPs_or_hierarchical_array_identifier(SV3_1aParser::Ps_or_hierarchical_array_identifierContext * ctx) override { addVObject (ctx, VObjectType::slPs_or_hierarchical_array_identifier); } + virtual void enterPs_or_hierarchical_sequence_identifier(SV3_1aParser::Ps_or_hierarchical_sequence_identifierContext * /*ctx*/) override { } + virtual void exitPs_or_hierarchical_sequence_identifier(SV3_1aParser::Ps_or_hierarchical_sequence_identifierContext * ctx) override { addVObject (ctx, VObjectType::slPs_or_hierarchical_sequence_identifier); } + virtual void enterPs_type_identifier(SV3_1aParser::Ps_type_identifierContext * /*ctx*/) override { } + virtual void exitPs_type_identifier(SV3_1aParser::Ps_type_identifierContext * ctx) override { addVObject (ctx, VObjectType::slPs_type_identifier); } + virtual void enterSystem_task(SV3_1aParser::System_taskContext * /*ctx*/) override { } + virtual void exitSystem_task(SV3_1aParser::System_taskContext * ctx) override { addVObject (ctx, VObjectType::slSystem_task); } + virtual void enterSystem_task_names(SV3_1aParser::System_task_namesContext * /*ctx*/) override { } + virtual void exitSystem_task_names(SV3_1aParser::System_task_namesContext * ctx) override { addVObject (ctx, VObjectType::slSystem_task_names); } + virtual void enterTop_directives(SV3_1aParser::Top_directivesContext * /*ctx*/) override { } + virtual void exitTop_directives(SV3_1aParser::Top_directivesContext * ctx) override { addVObject (ctx, VObjectType::slTop_directives); } + virtual void enterPragma_directive(SV3_1aParser::Pragma_directiveContext * /*ctx*/) override { } + virtual void exitPragma_directive(SV3_1aParser::Pragma_directiveContext * ctx) override { addVObject (ctx, VObjectType::slPragma_directive); } + virtual void enterPragma_expression(SV3_1aParser::Pragma_expressionContext * /*ctx*/) override { } + virtual void exitPragma_expression(SV3_1aParser::Pragma_expressionContext * ctx) override { addVObject (ctx, VObjectType::slPragma_expression); } + virtual void enterPragma_value(SV3_1aParser::Pragma_valueContext * /*ctx*/) override { } + virtual void exitPragma_value(SV3_1aParser::Pragma_valueContext * ctx) override { addVObject (ctx, VObjectType::slPragma_value); } + virtual void enterTimescale_directive(SV3_1aParser::Timescale_directiveContext * /*ctx*/) override { } + virtual void exitTimescale_directive(SV3_1aParser::Timescale_directiveContext * ctx) override { addVObject (ctx, VObjectType::slTimescale_directive); } + virtual void enterBegin_keywords_directive(SV3_1aParser::Begin_keywords_directiveContext * /*ctx*/) override { } + virtual void exitBegin_keywords_directive(SV3_1aParser::Begin_keywords_directiveContext * /*ctx*/) override ; + virtual void enterEnd_keywords_directive(SV3_1aParser::End_keywords_directiveContext * /*ctx*/) override { } + virtual void exitEnd_keywords_directive(SV3_1aParser::End_keywords_directiveContext * /*ctx*/) override ; + virtual void enterUnconnected_drive_directive(SV3_1aParser::Unconnected_drive_directiveContext * /*ctx*/) override ; + virtual void exitUnconnected_drive_directive(SV3_1aParser::Unconnected_drive_directiveContext * ctx) override { addVObject (ctx, VObjectType::slUnconnected_drive_directive); } + virtual void enterNounconnected_drive_directive(SV3_1aParser::Nounconnected_drive_directiveContext * /*ctx*/) override ; + virtual void exitNounconnected_drive_directive(SV3_1aParser::Nounconnected_drive_directiveContext * ctx) override { addVObject (ctx, VObjectType::slNounconnected_drive_directive); } + virtual void enterDefault_nettype_directive(SV3_1aParser::Default_nettype_directiveContext * /*ctx*/) override { } + virtual void exitDefault_nettype_directive(SV3_1aParser::Default_nettype_directiveContext * ctx) override { addVObject (ctx, VObjectType::slDefault_nettype_directive); } + virtual void enterUselib_directive(SV3_1aParser::Uselib_directiveContext * /*ctx*/) override { } + virtual void exitUselib_directive(SV3_1aParser::Uselib_directiveContext * ctx) override { addVObject (ctx, VObjectType::slUselib_directive); } + virtual void enterCelldefine_directive(SV3_1aParser::Celldefine_directiveContext * /*ctx*/) override { } + virtual void exitCelldefine_directive(SV3_1aParser::Celldefine_directiveContext * ctx) override { addVObject (ctx, VObjectType::slCelldefine_directive); } + virtual void enterEndcelldefine_directive(SV3_1aParser::Endcelldefine_directiveContext * /*ctx*/) override { } + virtual void exitEndcelldefine_directive(SV3_1aParser::Endcelldefine_directiveContext * ctx) override { addVObject (ctx, VObjectType::slEndcelldefine_directive); } + virtual void enterProtect_directive(SV3_1aParser::Protect_directiveContext * /*ctx*/) override { } + virtual void exitProtect_directive(SV3_1aParser::Protect_directiveContext * ctx) override { addVObject (ctx, VObjectType::slProtect_directive); } + virtual void enterEndprotect_directive(SV3_1aParser::Endprotect_directiveContext * /*ctx*/) override { } + virtual void exitEndprotect_directive(SV3_1aParser::Endprotect_directiveContext * ctx) override { addVObject (ctx, VObjectType::slEndprotect_directive); } + virtual void enterProtected_directive(SV3_1aParser::Protected_directiveContext * /*ctx*/) override { } + virtual void exitProtected_directive(SV3_1aParser::Protected_directiveContext * ctx) override { addVObject (ctx, VObjectType::slProtected_directive); } + virtual void enterEndprotected_directive(SV3_1aParser::Endprotected_directiveContext * /*ctx*/) override { } + virtual void exitEndprotected_directive(SV3_1aParser::Endprotected_directiveContext * ctx) override { addVObject (ctx, VObjectType::slEndprotected_directive); } + virtual void enterExpand_vectornets_directive(SV3_1aParser::Expand_vectornets_directiveContext * /*ctx*/) override { } + virtual void exitExpand_vectornets_directive(SV3_1aParser::Expand_vectornets_directiveContext * ctx) override { addVObject (ctx, VObjectType::slExpand_vectornets_directive); } + virtual void enterNoexpand_vectornets_directive(SV3_1aParser::Noexpand_vectornets_directiveContext * /*ctx*/) override { } + virtual void exitNoexpand_vectornets_directive(SV3_1aParser::Noexpand_vectornets_directiveContext * ctx) override { addVObject (ctx, VObjectType::slNoexpand_vectornets_directive); } + virtual void enterAutoexpand_vectornets_directive(SV3_1aParser::Autoexpand_vectornets_directiveContext * /*ctx*/) override { } + virtual void exitAutoexpand_vectornets_directive(SV3_1aParser::Autoexpand_vectornets_directiveContext * ctx) override { addVObject (ctx, VObjectType::slAutoexpand_vectornets_directive); } + virtual void enterDisable_portfaults_directive(SV3_1aParser::Disable_portfaults_directiveContext * /*ctx*/) override { } + virtual void exitDisable_portfaults_directive(SV3_1aParser::Disable_portfaults_directiveContext * ctx) override { addVObject (ctx, VObjectType::slDisable_portfaults_directive); } + virtual void enterEnable_portfaults_directive(SV3_1aParser::Enable_portfaults_directiveContext * /*ctx*/) override { } + virtual void exitEnable_portfaults_directive(SV3_1aParser::Enable_portfaults_directiveContext * ctx) override { addVObject (ctx, VObjectType::slEnable_portfaults_directive); } + virtual void enterNosuppress_faults_directive(SV3_1aParser::Nosuppress_faults_directiveContext * /*ctx*/) override { } + virtual void exitNosuppress_faults_directive(SV3_1aParser::Nosuppress_faults_directiveContext * ctx) override { addVObject (ctx, VObjectType::slNosuppress_faults_directive); } + virtual void enterSuppress_faults_directive(SV3_1aParser::Suppress_faults_directiveContext * /*ctx*/) override { } + virtual void exitSuppress_faults_directive(SV3_1aParser::Suppress_faults_directiveContext * ctx) override { addVObject (ctx, VObjectType::slSuppress_faults_directive); } + virtual void enterSigned_directive(SV3_1aParser::Signed_directiveContext * /*ctx*/) override { } + virtual void exitSigned_directive(SV3_1aParser::Signed_directiveContext * ctx) override { addVObject (ctx, VObjectType::slSigned_directive); } + virtual void enterUnsigned_directive(SV3_1aParser::Unsigned_directiveContext * /*ctx*/) override { } + virtual void exitUnsigned_directive(SV3_1aParser::Unsigned_directiveContext * ctx) override { addVObject (ctx, VObjectType::slUnsigned_directive); } + virtual void enterRemove_gatename_directive(SV3_1aParser::Remove_gatename_directiveContext * /*ctx*/) override { } + virtual void exitRemove_gatename_directive(SV3_1aParser::Remove_gatename_directiveContext * ctx) override { addVObject (ctx, VObjectType::slRemove_gatename_directive); } + virtual void enterNoremove_gatenames_directive(SV3_1aParser::Noremove_gatenames_directiveContext * /*ctx*/) override { } + virtual void exitNoremove_gatenames_directive(SV3_1aParser::Noremove_gatenames_directiveContext * ctx) override { addVObject (ctx, VObjectType::slNoremove_gatenames_directive); } + virtual void enterRemove_netname_directive(SV3_1aParser::Remove_netname_directiveContext * /*ctx*/) override { } + virtual void exitRemove_netname_directive(SV3_1aParser::Remove_netname_directiveContext * ctx) override { addVObject (ctx, VObjectType::slRemove_netname_directive); } + virtual void enterNoremove_netnames_directive(SV3_1aParser::Noremove_netnames_directiveContext * /*ctx*/) override { } + virtual void exitNoremove_netnames_directive(SV3_1aParser::Noremove_netnames_directiveContext * ctx) override { addVObject (ctx, VObjectType::slNoremove_netnames_directive); } + virtual void enterAccelerate_directive(SV3_1aParser::Accelerate_directiveContext * /*ctx*/) override { } + virtual void exitAccelerate_directive(SV3_1aParser::Accelerate_directiveContext * ctx) override { addVObject (ctx, VObjectType::slAccelerate_directive); } + virtual void enterNoaccelerate_directive(SV3_1aParser::Noaccelerate_directiveContext * /*ctx*/) override { } + virtual void exitNoaccelerate_directive(SV3_1aParser::Noaccelerate_directiveContext * ctx) override { addVObject (ctx, VObjectType::slNoaccelerate_directive); } + virtual void enterDefault_trireg_strenght_directive(SV3_1aParser::Default_trireg_strenght_directiveContext * /*ctx*/) override { } + virtual void exitDefault_trireg_strenght_directive(SV3_1aParser::Default_trireg_strenght_directiveContext * ctx) override { addVObject (ctx, VObjectType::slDefault_trireg_strenght_directive); } + virtual void enterDefault_decay_time_directive(SV3_1aParser::Default_decay_time_directiveContext * /*ctx*/) override { } + virtual void exitDefault_decay_time_directive(SV3_1aParser::Default_decay_time_directiveContext * ctx) override { addVObject (ctx, VObjectType::slDefault_decay_time_directive); } + virtual void enterDelay_mode_distributed_directive(SV3_1aParser::Delay_mode_distributed_directiveContext * /*ctx*/) override { } + virtual void exitDelay_mode_distributed_directive(SV3_1aParser::Delay_mode_distributed_directiveContext * ctx) override { addVObject (ctx, VObjectType::slDelay_mode_distributed_directive); } + virtual void enterDelay_mode_path_directive(SV3_1aParser::Delay_mode_path_directiveContext * /*ctx*/) override { } + virtual void exitDelay_mode_path_directive(SV3_1aParser::Delay_mode_path_directiveContext * ctx) override { addVObject (ctx, VObjectType::slDelay_mode_path_directive); } + virtual void enterDelay_mode_unit_directive(SV3_1aParser::Delay_mode_unit_directiveContext * /*ctx*/) override { } + virtual void exitDelay_mode_unit_directive(SV3_1aParser::Delay_mode_unit_directiveContext * ctx) override { addVObject (ctx, VObjectType::slDelay_mode_unit_directive); } + virtual void enterDelay_mode_zero_directive(SV3_1aParser::Delay_mode_zero_directiveContext * /*ctx*/) override { } + virtual void exitDelay_mode_zero_directive(SV3_1aParser::Delay_mode_zero_directiveContext * ctx) override { addVObject (ctx, VObjectType::slDelay_mode_zero_directive); } + virtual void enterSurelog_macro_not_defined(SV3_1aParser::Surelog_macro_not_definedContext * /*ctx*/) override ; + virtual void exitSurelog_macro_not_defined(SV3_1aParser::Surelog_macro_not_definedContext * ctx) override { addVObject (ctx, VObjectType::slSurelog_macro_not_defined); } + virtual void enterSlline(SV3_1aParser::SllineContext * /*ctx*/) override ; + virtual void exitSlline(SV3_1aParser::SllineContext * /*ctx*/) override ; + virtual void enterEndconfig(SV3_1aParser::EndconfigContext * /*ctx*/) override { } + virtual void exitEndconfig(SV3_1aParser::EndconfigContext * ctx) override { addVObject (ctx, VObjectType::slEndconfig); } + virtual void enterConfig_declaration(SV3_1aParser::Config_declarationContext * /*ctx*/) override { } + virtual void exitConfig_declaration(SV3_1aParser::Config_declarationContext * ctx) override { addVObject (ctx, VObjectType::slConfig_declaration); } + virtual void enterDesign_statement(SV3_1aParser::Design_statementContext * /*ctx*/) override { } + virtual void exitDesign_statement(SV3_1aParser::Design_statementContext * ctx) override { addVObject (ctx, VObjectType::slDesign_statement); } + virtual void enterConfig_rule_statement(SV3_1aParser::Config_rule_statementContext * /*ctx*/) override { } + virtual void exitConfig_rule_statement(SV3_1aParser::Config_rule_statementContext * ctx) override { addVObject (ctx, VObjectType::slConfig_rule_statement); } + virtual void enterDefault_clause(SV3_1aParser::Default_clauseContext * /*ctx*/) override { } + virtual void exitDefault_clause(SV3_1aParser::Default_clauseContext * ctx) override { addVObject (ctx, VObjectType::slDefault_clause); } + virtual void enterInst_clause(SV3_1aParser::Inst_clauseContext * /*ctx*/) override { } + virtual void exitInst_clause(SV3_1aParser::Inst_clauseContext * ctx) override { addVObject (ctx, VObjectType::slInst_clause); } + virtual void enterInst_name(SV3_1aParser::Inst_nameContext * /*ctx*/) override { } + virtual void exitInst_name(SV3_1aParser::Inst_nameContext * ctx) override { addVObject (ctx, VObjectType::slInst_name); } + virtual void enterCell_clause(SV3_1aParser::Cell_clauseContext * /*ctx*/) override { } + virtual void exitCell_clause(SV3_1aParser::Cell_clauseContext * ctx) override { addVObject (ctx, VObjectType::slCell_clause); } + virtual void enterLiblist_clause(SV3_1aParser::Liblist_clauseContext * /*ctx*/) override { } + virtual void exitLiblist_clause(SV3_1aParser::Liblist_clauseContext * ctx) override { addVObject (ctx, VObjectType::slLiblist_clause); } + virtual void enterUse_clause_config(SV3_1aParser::Use_clause_configContext * /*ctx*/) override { } + virtual void exitUse_clause_config(SV3_1aParser::Use_clause_configContext * ctx) override { addVObject (ctx, VObjectType::slUse_clause_config); } + virtual void enterUse_clause(SV3_1aParser::Use_clauseContext * /*ctx*/) override { } + virtual void exitUse_clause(SV3_1aParser::Use_clauseContext * ctx) override { addVObject (ctx, VObjectType::slUse_clause); } + virtual void enterEveryRule(antlr4::ParserRuleContext * /*ctx*/) override ; + virtual void exitEveryRule(antlr4::ParserRuleContext * /*ctx*/) override ; + virtual void visitTerminal(antlr4::tree::TerminalNode * /*node*/) override ; + virtual void visitErrorNode(antlr4::tree::ErrorNode * /*node*/) override ; + }; +}; + +#endif /* SV3_1ATREESHAPELISTENER_H */ +
diff --git a/src/SourceCompile/VObjectTypes.cpp b/src/SourceCompile/VObjectTypes.cpp new file mode 100644 index 0000000..50ded84 --- /dev/null +++ b/src/SourceCompile/VObjectTypes.cpp
@@ -0,0 +1,2751 @@ + +#include <string> +#include "../Design/VObject.h" +// This file is automatically generated by generate_parser_listener.tcl +// DO NOT EDIT + +using namespace SURELOG; + +std::string VObject::getTypeName(unsigned short type) { + std::string text; + switch (type) { + case sl0: + text = "sl0"; + break; + case sl1: + text = "sl1"; + break; + case slAccelerate_directive: + text = "slAccelerate_directive"; + break; + case slAction_block: + text = "slAction_block"; + break; + case slActual_arg_expr: + text = "slActual_arg_expr"; + break; + case slActual_arg_list: + text = "slActual_arg_list"; + break; + case slAlways_construct: + text = "slAlways_construct"; + break; + case slAlwaysKeywd_Always: + text = "slAlwaysKeywd_Always"; + break; + case slAlwaysKeywd_Comb: + text = "slAlwaysKeywd_Comb"; + break; + case slAlwaysKeywd_FF: + text = "slAlwaysKeywd_FF"; + break; + case slAlwaysKeywd_Latch: + text = "slAlwaysKeywd_Latch"; + break; + case slAnd_call: + text = "slAnd_call"; + break; + case slAnonymous_program: + text = "slAnonymous_program"; + break; + case slAnonymous_program_item: + text = "slAnonymous_program_item"; + break; + case slAnsi_port_declaration: + text = "slAnsi_port_declaration"; + break; + case slArray_manipulation_call: + text = "slArray_manipulation_call"; + break; + case slArray_member_label: + text = "slArray_member_label"; + break; + case slArray_method_name: + text = "slArray_method_name"; + break; + case slArray_pattern_key: + text = "slArray_pattern_key"; + break; + case slArray_range_expression: + text = "slArray_range_expression"; + break; + case slAssert_property_statement: + text = "slAssert_property_statement"; + break; + case slAssertion_item: + text = "slAssertion_item"; + break; + case slAssertion_item_declaration: + text = "slAssertion_item_declaration"; + break; + case slAssertion_variable_declaration: + text = "slAssertion_variable_declaration"; + break; + case slAssignment_pattern: + text = "slAssignment_pattern"; + break; + case slAssignment_pattern_expression: + text = "slAssignment_pattern_expression"; + break; + case slAssignment_pattern_expression_type: + text = "slAssignment_pattern_expression_type"; + break; + case slAssignment_pattern_key: + text = "slAssignment_pattern_key"; + break; + case slAssignment_pattern_net_lvalue: + text = "slAssignment_pattern_net_lvalue"; + break; + case slAssignment_pattern_variable_lvalue: + text = "slAssignment_pattern_variable_lvalue"; + break; + case slAssignOp_Add: + text = "slAssignOp_Add"; + break; + case slAssignOp_ArithShiftLeft: + text = "slAssignOp_ArithShiftLeft"; + break; + case slAssignOp_ArithShiftRight: + text = "slAssignOp_ArithShiftRight"; + break; + case slAssignOp_Assign: + text = "slAssignOp_Assign"; + break; + case slAssignOp_BitwAnd: + text = "slAssignOp_BitwAnd"; + break; + case slAssignOp_BitwLeftShift: + text = "slAssignOp_BitwLeftShift"; + break; + case slAssignOp_BitwOr: + text = "slAssignOp_BitwOr"; + break; + case slAssignOp_BitwRightShift: + text = "slAssignOp_BitwRightShift"; + break; + case slAssignOp_BitwXor: + text = "slAssignOp_BitwXor"; + break; + case slAssignOp_Div: + text = "slAssignOp_Div"; + break; + case slAssignOp_Modulo: + text = "slAssignOp_Modulo"; + break; + case slAssignOp_Mult: + text = "slAssignOp_Mult"; + break; + case slAssignOp_Sub: + text = "slAssignOp_Sub"; + break; + case slAssociative_dimension: + text = "slAssociative_dimension"; + break; + case slAssume_property_statement: + text = "slAssume_property_statement"; + break; + case slAttr_name: + text = "slAttr_name"; + break; + case slAttr_spec: + text = "slAttr_spec"; + break; + case slAttribute_instance: + text = "slAttribute_instance"; + break; + case slAutoexpand_vectornets_directive: + text = "slAutoexpand_vectornets_directive"; + break; + case slBind_directive: + text = "slBind_directive"; + break; + case slBind_instantiation: + text = "slBind_instantiation"; + break; + case slBinModOp_BitwAnd: + text = "slBinModOp_BitwAnd"; + break; + case slBinModOp_BitwOr: + text = "slBinModOp_BitwOr"; + break; + case slBinModOp_BitwXor: + text = "slBinModOp_BitwXor"; + break; + case slBinModOp_Equiv: + text = "slBinModOp_Equiv"; + break; + case slBinModOp_LogicAnd: + text = "slBinModOp_LogicAnd"; + break; + case slBinModOp_LogicOr: + text = "slBinModOp_LogicOr"; + break; + case slBinModOp_NotEqual: + text = "slBinModOp_NotEqual"; + break; + case slBinModOp_ReductXnor1: + text = "slBinModOp_ReductXnor1"; + break; + case slBinModOp_ReductXnor2: + text = "slBinModOp_ReductXnor2"; + break; + case slBinOp_ArithShiftLeft: + text = "slBinOp_ArithShiftLeft"; + break; + case slBinOp_ArithShiftRight: + text = "slBinOp_ArithShiftRight"; + break; + case slBinOp_BitwAnd: + text = "slBinOp_BitwAnd"; + break; + case slBinOp_BitwOr: + text = "slBinOp_BitwOr"; + break; + case slBinOp_BitwXor: + text = "slBinOp_BitwXor"; + break; + case slBinOp_Div: + text = "slBinOp_Div"; + break; + case slBinOp_Equiv: + text = "slBinOp_Equiv"; + break; + case slBinOp_Equivalence: + text = "slBinOp_Equivalence"; + break; + case slBinOp_FourStateLogicEqual: + text = "slBinOp_FourStateLogicEqual"; + break; + case slBinOp_FourStateLogicNotEqual: + text = "slBinOp_FourStateLogicNotEqual"; + break; + case slBinOp_Great: + text = "slBinOp_Great"; + break; + case slBinOp_GreatEqual: + text = "slBinOp_GreatEqual"; + break; + case slBinOp_Imply: + text = "slBinOp_Imply"; + break; + case slBinOp_Less: + text = "slBinOp_Less"; + break; + case slBinOp_LessEqual: + text = "slBinOp_LessEqual"; + break; + case slBinOp_LogicAnd: + text = "slBinOp_LogicAnd"; + break; + case slBinOp_LogicOr: + text = "slBinOp_LogicOr"; + break; + case slBinOp_Minus: + text = "slBinOp_Minus"; + break; + case slBinOp_Mult: + text = "slBinOp_Mult"; + break; + case slBinOp_MultMult: + text = "slBinOp_MultMult"; + break; + case slBinOp_Not: + text = "slBinOp_Not"; + break; + case slBinOp_Percent: + text = "slBinOp_Percent"; + break; + case slBinOp_Plus: + text = "slBinOp_Plus"; + break; + case slBinOp_ReductNand: + text = "slBinOp_ReductNand"; + break; + case slBinOp_ReductNor: + text = "slBinOp_ReductNor"; + break; + case slBinOp_ReductXnor1: + text = "slBinOp_ReductXnor1"; + break; + case slBinOp_ReductXnor2: + text = "slBinOp_ReductXnor2"; + break; + case slBinOp_ShiftLeft: + text = "slBinOp_ShiftLeft"; + break; + case slBinOp_ShiftRight: + text = "slBinOp_ShiftRight"; + break; + case slBinOp_WildcardEqual: + text = "slBinOp_WildcardEqual"; + break; + case slBinOp_WildcardNotEqual: + text = "slBinOp_WildcardNotEqual"; + break; + case slBinOp_WildEqual: + text = "slBinOp_WildEqual"; + break; + case slBinOp_WildNotEqual: + text = "slBinOp_WildNotEqual"; + break; + case slBins_Bins: + text = "slBins_Bins"; + break; + case slBins_expression: + text = "slBins_expression"; + break; + case slBins_Ignore: + text = "slBins_Ignore"; + break; + case slBins_Illegal: + text = "slBins_Illegal"; + break; + case slBins_or_empty: + text = "slBins_or_empty"; + break; + case slBins_or_options: + text = "slBins_or_options"; + break; + case slBins_selection: + text = "slBins_selection"; + break; + case slBins_selection_or_option: + text = "slBins_selection_or_option"; + break; + case slBit_select: + text = "slBit_select"; + break; + case slBlock_event_expression: + text = "slBlock_event_expression"; + break; + case slBlock_item_declaration: + text = "slBlock_item_declaration"; + break; + case slBlocking_assignment: + text = "slBlocking_assignment"; + break; + case slBoolean_abbrev: + text = "slBoolean_abbrev"; + break; + case slBuilt_in_method_call: + text = "slBuilt_in_method_call"; + break; + case slCase_generate_construct: + text = "slCase_generate_construct"; + break; + case slCase_generate_item: + text = "slCase_generate_item"; + break; + case slCase_inside_item: + text = "slCase_inside_item"; + break; + case slCase_item: + text = "slCase_item"; + break; + case slCase_pattern_item: + text = "slCase_pattern_item"; + break; + case slCase_statement: + text = "slCase_statement"; + break; + case slCaseKeyword_Case: + text = "slCaseKeyword_Case"; + break; + case slCaseKeyword_CaseX: + text = "slCaseKeyword_CaseX"; + break; + case slCaseKeyword_CaseZ: + text = "slCaseKeyword_CaseZ"; + break; + case slCast: + text = "slCast"; + break; + case slCasting_type: + text = "slCasting_type"; + break; + case slCell_clause: + text = "slCell_clause"; + break; + case slCelldefine_directive: + text = "slCelldefine_directive"; + break; + case slChandle_type: + text = "slChandle_type"; + break; + case slChargeStrength_Large: + text = "slChargeStrength_Large"; + break; + case slChargeStrength_Medium: + text = "slChargeStrength_Medium"; + break; + case slChargeStrength_Small: + text = "slChargeStrength_Small"; + break; + case slChecker: + text = "slChecker"; + break; + case slChecker_declaration: + text = "slChecker_declaration"; + break; + case slChecker_generate_item: + text = "slChecker_generate_item"; + break; + case slChecker_instantiation: + text = "slChecker_instantiation"; + break; + case slChecker_or_generate_item: + text = "slChecker_or_generate_item"; + break; + case slChecker_or_generate_item_declaration: + text = "slChecker_or_generate_item_declaration"; + break; + case slChecker_port_item: + text = "slChecker_port_item"; + break; + case slChecker_port_list: + text = "slChecker_port_list"; + break; + case slClass: + text = "slClass"; + break; + case slClass_constraint: + text = "slClass_constraint"; + break; + case slClass_constructor_declaration: + text = "slClass_constructor_declaration"; + break; + case slClass_constructor_prototype: + text = "slClass_constructor_prototype"; + break; + case slClass_declaration: + text = "slClass_declaration"; + break; + case slClass_item: + text = "slClass_item"; + break; + case slClass_keyword: + text = "slClass_keyword"; + break; + case slClass_method: + text = "slClass_method"; + break; + case slClass_new: + text = "slClass_new"; + break; + case slClass_property: + text = "slClass_property"; + break; + case slClass_scope: + text = "slClass_scope"; + break; + case slClass_type: + text = "slClass_type"; + break; + case slClassItemQualifier_Local: + text = "slClassItemQualifier_Local"; + break; + case slClassItemQualifier_Protected: + text = "slClassItemQualifier_Protected"; + break; + case slClassItemQualifier_Static: + text = "slClassItemQualifier_Static"; + break; + case slClocking_decl_assign: + text = "slClocking_decl_assign"; + break; + case slClocking_declaration: + text = "slClocking_declaration"; + break; + case slClocking_drive: + text = "slClocking_drive"; + break; + case slClocking_event: + text = "slClocking_event"; + break; + case slClocking_item: + text = "slClocking_item"; + break; + case slClocking_skew: + text = "slClocking_skew"; + break; + case slClockingDir_Inout: + text = "slClockingDir_Inout"; + break; + case slClockingDir_Input: + text = "slClockingDir_Input"; + break; + case slClockingDir_InputOutput: + text = "slClockingDir_InputOutput"; + break; + case slClockingDir_Output: + text = "slClockingDir_Output"; + break; + case slClockvar: + text = "slClockvar"; + break; + case slClockvar_expression: + text = "slClockvar_expression"; + break; + case slCmos_switch_instance: + text = "slCmos_switch_instance"; + break; + case slCmosSwitchType_Cmos: + text = "slCmosSwitchType_Cmos"; + break; + case slCmosSwitchType_RCmos: + text = "slCmosSwitchType_RCmos"; + break; + case slCombinational_body: + text = "slCombinational_body"; + break; + case slCombinational_entry: + text = "slCombinational_entry"; + break; + case slComments: + text = "slComments"; + break; + case slComplex_func_call: + text = "slComplex_func_call"; + break; + case slConcatenation: + text = "slConcatenation"; + break; + case slConcurrent_assertion_item: + text = "slConcurrent_assertion_item"; + break; + case slConcurrent_assertion_item_declaration: + text = "slConcurrent_assertion_item_declaration"; + break; + case slConcurrent_assertion_statement: + text = "slConcurrent_assertion_statement"; + break; + case slCond_predicate: + text = "slCond_predicate"; + break; + case slConditional_generate_construct: + text = "slConditional_generate_construct"; + break; + case slConditional_statement: + text = "slConditional_statement"; + break; + case slConfig_declaration: + text = "slConfig_declaration"; + break; + case slConfig_rule_statement: + text = "slConfig_rule_statement"; + break; + case slConsecutive_repetition: + text = "slConsecutive_repetition"; + break; + case slConst_or_range_expression: + text = "slConst_or_range_expression"; + break; + case slConst_type: + text = "slConst_type"; + break; + case slConstant_assignment_pattern_expression: + text = "slConstant_assignment_pattern_expression"; + break; + case slConstant_bit_select: + text = "slConstant_bit_select"; + break; + case slConstant_cast: + text = "slConstant_cast"; + break; + case slConstant_concatenation: + text = "slConstant_concatenation"; + break; + case slConstant_expression: + text = "slConstant_expression"; + break; + case slConstant_indexed_range: + text = "slConstant_indexed_range"; + break; + case slConstant_mintypmax_expression: + text = "slConstant_mintypmax_expression"; + break; + case slConstant_multiple_concatenation: + text = "slConstant_multiple_concatenation"; + break; + case slConstant_param_expression: + text = "slConstant_param_expression"; + break; + case slConstant_part_select_range: + text = "slConstant_part_select_range"; + break; + case slConstant_primary: + text = "slConstant_primary"; + break; + case slConstant_range: + text = "slConstant_range"; + break; + case slConstant_range_expression: + text = "slConstant_range_expression"; + break; + case slConstant_select: + text = "slConstant_select"; + break; + case slConstantSelect: + text = "slConstantSelect"; + break; + case slConstraint_block: + text = "slConstraint_block"; + break; + case slConstraint_block_item: + text = "slConstraint_block_item"; + break; + case slConstraint_declaration: + text = "slConstraint_declaration"; + break; + case slConstraint_expression: + text = "slConstraint_expression"; + break; + case slConstraint_primary: + text = "slConstraint_primary"; + break; + case slConstraint_prototype: + text = "slConstraint_prototype"; + break; + case slConstraint_set: + text = "slConstraint_set"; + break; + case slConstSelect: + text = "slConstSelect"; + break; + case slContext_keyword: + text = "slContext_keyword"; + break; + case slContinuous_assign: + text = "slContinuous_assign"; + break; + case slControlled_timing_check_event: + text = "slControlled_timing_check_event"; + break; + case slCover_cross: + text = "slCover_cross"; + break; + case slCover_point: + text = "slCover_point"; + break; + case slCover_property_statement: + text = "slCover_property_statement"; + break; + case slCover_sequence_statement: + text = "slCover_sequence_statement"; + break; + case slCoverage_event: + text = "slCoverage_event"; + break; + case slCoverage_option: + text = "slCoverage_option"; + break; + case slCoverage_spec: + text = "slCoverage_spec"; + break; + case slCoverage_spec_or_option: + text = "slCoverage_spec_or_option"; + break; + case slCovergroup_declaration: + text = "slCovergroup_declaration"; + break; + case slCross_body: + text = "slCross_body"; + break; + case slCross_body_item: + text = "slCross_body_item"; + break; + case slCross_item: + text = "slCross_item"; + break; + case slCycle_delay: + text = "slCycle_delay"; + break; + case slCycle_delay_const_range_expression: + text = "slCycle_delay_const_range_expression"; + break; + case slCycle_delay_range: + text = "slCycle_delay_range"; + break; + case slData_declaration: + text = "slData_declaration"; + break; + case slData_type: + text = "slData_type"; + break; + case slData_type_or_implicit: + text = "slData_type_or_implicit"; + break; + case slData_type_or_void: + text = "slData_type_or_void"; + break; + case slDefault_clause: + text = "slDefault_clause"; + break; + case slDefault_decay_time_directive: + text = "slDefault_decay_time_directive"; + break; + case slDefault_nettype_directive: + text = "slDefault_nettype_directive"; + break; + case slDefault_trireg_strenght_directive: + text = "slDefault_trireg_strenght_directive"; + break; + case slDefaultSkew_Intput: + text = "slDefaultSkew_Intput"; + break; + case slDefaultSkew_IntputOutput: + text = "slDefaultSkew_IntputOutput"; + break; + case slDefaultSkew_Output: + text = "slDefaultSkew_Output"; + break; + case slDeferred_immediate_assert_statement: + text = "slDeferred_immediate_assert_statement"; + break; + case slDeferred_immediate_assertion_item: + text = "slDeferred_immediate_assertion_item"; + break; + case slDeferred_immediate_assertion_statement: + text = "slDeferred_immediate_assertion_statement"; + break; + case slDeferred_immediate_assume_statement: + text = "slDeferred_immediate_assume_statement"; + break; + case slDeferred_immediate_cover_statement: + text = "slDeferred_immediate_cover_statement"; + break; + case slDefparam_assignment: + text = "slDefparam_assignment"; + break; + case slDelay2: + text = "slDelay2"; + break; + case slDelay3: + text = "slDelay3"; + break; + case slDelay_control: + text = "slDelay_control"; + break; + case slDelay_mode_distributed_directive: + text = "slDelay_mode_distributed_directive"; + break; + case slDelay_mode_path_directive: + text = "slDelay_mode_path_directive"; + break; + case slDelay_mode_unit_directive: + text = "slDelay_mode_unit_directive"; + break; + case slDelay_mode_zero_directive: + text = "slDelay_mode_zero_directive"; + break; + case slDelay_or_event_control: + text = "slDelay_or_event_control"; + break; + case slDelay_value: + text = "slDelay_value"; + break; + case slDelayed_data: + text = "slDelayed_data"; + break; + case slDelayed_reference: + text = "slDelayed_reference"; + break; + case slDescription: + text = "slDescription"; + break; + case slDesign_statement: + text = "slDesign_statement"; + break; + case slDisable_portfaults_directive: + text = "slDisable_portfaults_directive"; + break; + case slDisable_statement: + text = "slDisable_statement"; + break; + case slDist_item: + text = "slDist_item"; + break; + case slDist_list: + text = "slDist_list"; + break; + case slDistWeight_AssignRange: + text = "slDistWeight_AssignRange"; + break; + case slDistWeight_AssignValue: + text = "slDistWeight_AssignValue"; + break; + case slDollar_fullskew_timing_check: + text = "slDollar_fullskew_timing_check"; + break; + case slDollar_hold_timing_check: + text = "slDollar_hold_timing_check"; + break; + case slDollar_keyword: + text = "slDollar_keyword"; + break; + case slDollar_nochange_timing_check: + text = "slDollar_nochange_timing_check"; + break; + case slDollar_period_timing_check: + text = "slDollar_period_timing_check"; + break; + case slDollar_recovery_timing_check: + text = "slDollar_recovery_timing_check"; + break; + case slDollar_recrem_timing_check: + text = "slDollar_recrem_timing_check"; + break; + case slDollar_removal_timing_check: + text = "slDollar_removal_timing_check"; + break; + case slDollar_root_keyword: + text = "slDollar_root_keyword"; + break; + case slDollar_setup_timing_check: + text = "slDollar_setup_timing_check"; + break; + case slDollar_setuphold_timing_check: + text = "slDollar_setuphold_timing_check"; + break; + case slDollar_skew_timing_check: + text = "slDollar_skew_timing_check"; + break; + case slDollar_timeskew_timing_check: + text = "slDollar_timeskew_timing_check"; + break; + case slDollar_width_timing_check: + text = "slDollar_width_timing_check"; + break; + case slDpi_import_export: + text = "slDpi_import_export"; + break; + case slDrive_strength: + text = "slDrive_strength"; + break; + case slDynamic_array_new: + text = "slDynamic_array_new"; + break; + case slEdge_control_specifier: + text = "slEdge_control_specifier"; + break; + case slEdge_descriptor: + text = "slEdge_descriptor"; + break; + case slEdge_Edge: + text = "slEdge_Edge"; + break; + case slEdge_indicator: + text = "slEdge_indicator"; + break; + case slEdge_input_list: + text = "slEdge_input_list"; + break; + case slEdge_Negedge: + text = "slEdge_Negedge"; + break; + case slEdge_Posedge: + text = "slEdge_Posedge"; + break; + case slEdge_sensitive_path_declaration: + text = "slEdge_sensitive_path_declaration"; + break; + case slEdge_symbol: + text = "slEdge_symbol"; + break; + case slElaboration_system_task: + text = "slElaboration_system_task"; + break; + case slEmpty_queue: + text = "slEmpty_queue"; + break; + case slEnable_gate_instance: + text = "slEnable_gate_instance"; + break; + case slEnable_portfaults_directive: + text = "slEnable_portfaults_directive"; + break; + case slEnableGateType_Bufif0: + text = "slEnableGateType_Bufif0"; + break; + case slEnableGateType_Bufif1: + text = "slEnableGateType_Bufif1"; + break; + case slEnableGateType_Notif0: + text = "slEnableGateType_Notif0"; + break; + case slEnableGateType_Notif1: + text = "slEnableGateType_Notif1"; + break; + case slEnd: + text = "slEnd"; + break; + case slEnd_edge_offset: + text = "slEnd_edge_offset"; + break; + case slEndcase: + text = "slEndcase"; + break; + case slEndcelldefine_directive: + text = "slEndcelldefine_directive"; + break; + case slEndchecker: + text = "slEndchecker"; + break; + case slEndclass: + text = "slEndclass"; + break; + case slEndclocking: + text = "slEndclocking"; + break; + case slEndconfig: + text = "slEndconfig"; + break; + case slEndfunction: + text = "slEndfunction"; + break; + case slEndgenerate: + text = "slEndgenerate"; + break; + case slEndgroup: + text = "slEndgroup"; + break; + case slEndinterface: + text = "slEndinterface"; + break; + case slEndmodule: + text = "slEndmodule"; + break; + case slEndpackage: + text = "slEndpackage"; + break; + case slEndprimitive: + text = "slEndprimitive"; + break; + case slEndprogram: + text = "slEndprogram"; + break; + case slEndproperty: + text = "slEndproperty"; + break; + case slEndprotect_directive: + text = "slEndprotect_directive"; + break; + case slEndprotected_directive: + text = "slEndprotected_directive"; + break; + case slEndsequence: + text = "slEndsequence"; + break; + case slEndspecify: + text = "slEndspecify"; + break; + case slEndtable: + text = "slEndtable"; + break; + case slEndtask: + text = "slEndtask"; + break; + case slEnum_base_type: + text = "slEnum_base_type"; + break; + case slEnum_keyword: + text = "slEnum_keyword"; + break; + case slEnum_name_declaration: + text = "slEnum_name_declaration"; + break; + case slEvent_based_flag: + text = "slEvent_based_flag"; + break; + case slEvent_control: + text = "slEvent_control"; + break; + case slEvent_expression: + text = "slEvent_expression"; + break; + case slEvent_trigger: + text = "slEvent_trigger"; + break; + case slEvent_type: + text = "slEvent_type"; + break; + case slExpand_vectornets_directive: + text = "slExpand_vectornets_directive"; + break; + case slExpect_property_statement: + text = "slExpect_property_statement"; + break; + case slExpression: + text = "slExpression"; + break; + case slExpression_or_cond_pattern: + text = "slExpression_or_cond_pattern"; + break; + case slExpression_or_dist: + text = "slExpression_or_dist"; + break; + case slExtern_constraint_declaration: + text = "slExtern_constraint_declaration"; + break; + case slExtern_qualifier: + text = "slExtern_qualifier"; + break; + case slExtern_tf_declaration: + text = "slExtern_tf_declaration"; + break; + case slFinal_construct: + text = "slFinal_construct"; + break; + case slFor_initialization: + text = "slFor_initialization"; + break; + case slFor_step: + text = "slFor_step"; + break; + case slFor_step_assignment: + text = "slFor_step_assignment"; + break; + case slFor_variable_declaration: + text = "slFor_variable_declaration"; + break; + case slForever_keyword: + text = "slForever_keyword"; + break; + case slFormal_list_item: + text = "slFormal_list_item"; + break; + case slFull_edge_sensitive_path_description: + text = "slFull_edge_sensitive_path_description"; + break; + case slFull_path_description: + text = "slFull_path_description"; + break; + case slFunction_body_declaration: + text = "slFunction_body_declaration"; + break; + case slFunction_data_type: + text = "slFunction_data_type"; + break; + case slFunction_data_type_or_implicit: + text = "slFunction_data_type_or_implicit"; + break; + case slFunction_declaration: + text = "slFunction_declaration"; + break; + case slFunction_name_decl: + text = "slFunction_name_decl"; + break; + case slFunction_prototype: + text = "slFunction_prototype"; + break; + case slFunction_statement_or_null: + text = "slFunction_statement_or_null"; + break; + case slGate_instantiation: + text = "slGate_instantiation"; + break; + case slGenerate_block: + text = "slGenerate_block"; + break; + case slGenerate_interface_block: + text = "slGenerate_interface_block"; + break; + case slGenerate_interface_case_statement: + text = "slGenerate_interface_case_statement"; + break; + case slGenerate_interface_conditional_statement: + text = "slGenerate_interface_conditional_statement"; + break; + case slGenerate_interface_item: + text = "slGenerate_interface_item"; + break; + case slGenerate_interface_loop_statement: + text = "slGenerate_interface_loop_statement"; + break; + case slGenerate_interface_named_block: + text = "slGenerate_interface_named_block"; + break; + case slGenerate_item: + text = "slGenerate_item"; + break; + case slGenerate_module_block: + text = "slGenerate_module_block"; + break; + case slGenerate_module_case_statement: + text = "slGenerate_module_case_statement"; + break; + case slGenerate_module_conditional_statement: + text = "slGenerate_module_conditional_statement"; + break; + case slGenerate_module_item: + text = "slGenerate_module_item"; + break; + case slGenerate_module_loop_statement: + text = "slGenerate_module_loop_statement"; + break; + case slGenerate_module_named_block: + text = "slGenerate_module_named_block"; + break; + case slGenerate_region: + text = "slGenerate_region"; + break; + case slGenerated_interface_instantiation: + text = "slGenerated_interface_instantiation"; + break; + case slGenerated_module_instantiation: + text = "slGenerated_module_instantiation"; + break; + case slGenericElementType: + text = "slGenericElementType"; + break; + case slGenvar_assignment: + text = "slGenvar_assignment"; + break; + case slGenvar_decl_assignment: + text = "slGenvar_decl_assignment"; + break; + case slGenvar_declaration: + text = "slGenvar_declaration"; + break; + case slGenvar_initialization: + text = "slGenvar_initialization"; + break; + case slGenvar_interface_case_item: + text = "slGenvar_interface_case_item"; + break; + case slGenvar_iteration: + text = "slGenvar_iteration"; + break; + case slGenvar_module_case_item: + text = "slGenvar_module_case_item"; + break; + case slGoto_repetition: + text = "slGoto_repetition"; + break; + case slHierarchical_btf_identifier: + text = "slHierarchical_btf_identifier"; + break; + case slHierarchical_identifier: + text = "slHierarchical_identifier"; + break; + case slHierarchical_instance: + text = "slHierarchical_instance"; + break; + case slIdentifier_list: + text = "slIdentifier_list"; + break; + case slIf_generate_construct: + text = "slIf_generate_construct"; + break; + case slImmediate_assertion_statement: + text = "slImmediate_assertion_statement"; + break; + case slImplicit_class_handle: + text = "slImplicit_class_handle"; + break; + case slImplicit_data_type: + text = "slImplicit_data_type"; + break; + case slInc_or_dec_expression: + text = "slInc_or_dec_expression"; + break; + case slIncDec_MinusMinus: + text = "slIncDec_MinusMinus"; + break; + case slIncDec_PlusPlus: + text = "slIncDec_PlusPlus"; + break; + case slInclude_statement: + text = "slInclude_statement"; + break; + case slIndexed_range: + text = "slIndexed_range"; + break; + case slInitial_construct: + text = "slInitial_construct"; + break; + case slInitVal_1TickB0: + text = "slInitVal_1TickB0"; + break; + case slInitVal_1Tickb0: + text = "slInitVal_1Tickb0"; + break; + case slInitVal_1TickB1: + text = "slInitVal_1TickB1"; + break; + case slInitVal_1Tickb1: + text = "slInitVal_1Tickb1"; + break; + case slInitVal_1TickBX: + text = "slInitVal_1TickBX"; + break; + case slInitVal_1TickBx: + text = "slInitVal_1TickBx"; + break; + case slInitVal_1TickbX: + text = "slInitVal_1TickbX"; + break; + case slInitVal_1Tickbx: + text = "slInitVal_1Tickbx"; + break; + case slInitVal_Integral: + text = "slInitVal_Integral"; + break; + case slInout_declaration: + text = "slInout_declaration"; + break; + case slInput_declaration: + text = "slInput_declaration"; + break; + case slInst_clause: + text = "slInst_clause"; + break; + case slInst_name: + text = "slInst_name"; + break; + case slIntConst: + text = "slIntConst"; + break; + case slInteger_type: + text = "slInteger_type"; + break; + case slIntegerAtomType_Byte: + text = "slIntegerAtomType_Byte"; + break; + case slIntegerAtomType_Int: + text = "slIntegerAtomType_Int"; + break; + case slIntegerAtomType_LongInt: + text = "slIntegerAtomType_LongInt"; + break; + case slIntegerAtomType_Shortint: + text = "slIntegerAtomType_Shortint"; + break; + case slIntegerAtomType_Time: + text = "slIntegerAtomType_Time"; + break; + case slInterface: + text = "slInterface"; + break; + case slInterface_ansi_header: + text = "slInterface_ansi_header"; + break; + case slInterface_class_declaration: + text = "slInterface_class_declaration"; + break; + case slInterface_class_item: + text = "slInterface_class_item"; + break; + case slInterface_class_keyword: + text = "slInterface_class_keyword"; + break; + case slInterface_class_method: + text = "slInterface_class_method"; + break; + case slInterface_class_type: + text = "slInterface_class_type"; + break; + case slInterface_declaration: + text = "slInterface_declaration"; + break; + case slInterface_identifier: + text = "slInterface_identifier"; + break; + case slInterface_instantiation: + text = "slInterface_instantiation"; + break; + case slInterface_item: + text = "slInterface_item"; + break; + case slInterface_nonansi_header: + text = "slInterface_nonansi_header"; + break; + case slInterface_or_generate_item: + text = "slInterface_or_generate_item"; + break; + case slInterface_port_declaration: + text = "slInterface_port_declaration"; + break; + case slInterface_port_header: + text = "slInterface_port_header"; + break; + case slIntVec_TypeBit: + text = "slIntVec_TypeBit"; + break; + case slIntVec_TypeLogic: + text = "slIntVec_TypeLogic"; + break; + case slIntVec_TypeReg: + text = "slIntVec_TypeReg"; + break; + case slJoin_any_keyword: + text = "slJoin_any_keyword"; + break; + case slJoin_keyword: + text = "slJoin_keyword"; + break; + case slJoin_none_keyword: + text = "slJoin_none_keyword"; + break; + case slJump_statement: + text = "slJump_statement"; + break; + case slLet_declaration: + text = "slLet_declaration"; + break; + case slLet_formal_type: + text = "slLet_formal_type"; + break; + case slLet_port_item: + text = "slLet_port_item"; + break; + case slLet_port_list: + text = "slLet_port_list"; + break; + case slLevel_input_list: + text = "slLevel_input_list"; + break; + case slLevel_symbol: + text = "slLevel_symbol"; + break; + case slLiblist_clause: + text = "slLiblist_clause"; + break; + case slLibrary_declaration: + text = "slLibrary_declaration"; + break; + case slLibrary_descriptions: + text = "slLibrary_descriptions"; + break; + case slLibrary_text: + text = "slLibrary_text"; + break; + case slLifetime_Automatic: + text = "slLifetime_Automatic"; + break; + case slLifetime_Static: + text = "slLifetime_Static"; + break; + case slList_of_arguments: + text = "slList_of_arguments"; + break; + case slList_of_checker_port_connections: + text = "slList_of_checker_port_connections"; + break; + case slList_of_clocking_decl_assign: + text = "slList_of_clocking_decl_assign"; + break; + case slList_of_cross_items: + text = "slList_of_cross_items"; + break; + case slList_of_defparam_assignments: + text = "slList_of_defparam_assignments"; + break; + case slList_of_formals: + text = "slList_of_formals"; + break; + case slList_of_interface_identifiers: + text = "slList_of_interface_identifiers"; + break; + case slList_of_net_assignments: + text = "slList_of_net_assignments"; + break; + case slList_of_net_decl_assignments: + text = "slList_of_net_decl_assignments"; + break; + case slList_of_param_assignments: + text = "slList_of_param_assignments"; + break; + case slList_of_parameter_assignments: + text = "slList_of_parameter_assignments"; + break; + case slList_of_path_delay_expressions: + text = "slList_of_path_delay_expressions"; + break; + case slList_of_path_inputs: + text = "slList_of_path_inputs"; + break; + case slList_of_path_outputs: + text = "slList_of_path_outputs"; + break; + case slList_of_port_connections: + text = "slList_of_port_connections"; + break; + case slList_of_port_declarations: + text = "slList_of_port_declarations"; + break; + case slList_of_port_identifiers: + text = "slList_of_port_identifiers"; + break; + case slList_of_ports: + text = "slList_of_ports"; + break; + case slList_of_specparam_assignments: + text = "slList_of_specparam_assignments"; + break; + case slList_of_tf_variable_identifiers: + text = "slList_of_tf_variable_identifiers"; + break; + case slList_of_type_assignments: + text = "slList_of_type_assignments"; + break; + case slList_of_variable_assignments: + text = "slList_of_variable_assignments"; + break; + case slList_of_variable_decl_assignments: + text = "slList_of_variable_decl_assignments"; + break; + case slList_of_variable_identifiers: + text = "slList_of_variable_identifiers"; + break; + case slList_of_variable_port_identifiers: + text = "slList_of_variable_port_identifiers"; + break; + case slList_of_virtual_interface_decl: + text = "slList_of_virtual_interface_decl"; + break; + case slLocal_parameter_declaration: + text = "slLocal_parameter_declaration"; + break; + case slLoop_generate_construct: + text = "slLoop_generate_construct"; + break; + case slLoop_statement: + text = "slLoop_statement"; + break; + case slLoop_variables: + text = "slLoop_variables"; + break; + case slMethod_call: + text = "slMethod_call"; + break; + case slMethod_call_body: + text = "slMethod_call_body"; + break; + case slMethod_call_root: + text = "slMethod_call_root"; + break; + case slMethod_prototype: + text = "slMethod_prototype"; + break; + case slMethodQualifier_ClassItem: + text = "slMethodQualifier_ClassItem"; + break; + case slMethodQualifier_Virtual: + text = "slMethodQualifier_Virtual"; + break; + case slMintypmax_expression: + text = "slMintypmax_expression"; + break; + case slModport_hierarchical_ports_declaration: + text = "slModport_hierarchical_ports_declaration"; + break; + case slModport_item: + text = "slModport_item"; + break; + case slModport_ports_declaration: + text = "slModport_ports_declaration"; + break; + case slModport_simple_port: + text = "slModport_simple_port"; + break; + case slModport_simple_ports_declaration: + text = "slModport_simple_ports_declaration"; + break; + case slModport_tf_port: + text = "slModport_tf_port"; + break; + case slModport_tf_ports_declaration: + text = "slModport_tf_ports_declaration"; + break; + case slModule: + text = "slModule"; + break; + case slModule_ansi_header: + text = "slModule_ansi_header"; + break; + case slModule_common_item: + text = "slModule_common_item"; + break; + case slModule_declaration: + text = "slModule_declaration"; + break; + case slModule_instantiation: + text = "slModule_instantiation"; + break; + case slModule_item: + text = "slModule_item"; + break; + case slModule_keyword: + text = "slModule_keyword"; + break; + case slModule_nonansi_header: + text = "slModule_nonansi_header"; + break; + case slModule_or_generate_item: + text = "slModule_or_generate_item"; + break; + case slModule_or_generate_item_declaration: + text = "slModule_or_generate_item_declaration"; + break; + case slModule_path_concatenation: + text = "slModule_path_concatenation"; + break; + case slModule_path_expression: + text = "slModule_path_expression"; + break; + case slModule_path_mintypmax_expression: + text = "slModule_path_mintypmax_expression"; + break; + case slModule_path_multiple_concatenation: + text = "slModule_path_multiple_concatenation"; + break; + case slModule_path_primary: + text = "slModule_path_primary"; + break; + case slModuleInstance: + text = "slModuleInstance"; + break; + case slMos_switch_instance: + text = "slMos_switch_instance"; + break; + case slMosSwitchType_NMos: + text = "slMosSwitchType_NMos"; + break; + case slMosSwitchType_PMos: + text = "slMosSwitchType_PMos"; + break; + case slMosSwitchType_RNMos: + text = "slMosSwitchType_RNMos"; + break; + case slMosSwitchType_RPMos: + text = "slMosSwitchType_RPMos"; + break; + case slMultiple_concatenation: + text = "slMultiple_concatenation"; + break; + case slN_input_gate_instance: + text = "slN_input_gate_instance"; + break; + case slN_output_gate_instance: + text = "slN_output_gate_instance"; + break; + case slName_of_instance: + text = "slName_of_instance"; + break; + case slNamed_checker_port_connection: + text = "slNamed_checker_port_connection"; + break; + case slNamed_parameter_assignment: + text = "slNamed_parameter_assignment"; + break; + case slNamed_port_connection: + text = "slNamed_port_connection"; + break; + case slNet_alias: + text = "slNet_alias"; + break; + case slNet_assignment: + text = "slNet_assignment"; + break; + case slNet_decl_assignment: + text = "slNet_decl_assignment"; + break; + case slNet_declaration: + text = "slNet_declaration"; + break; + case slNet_lvalue: + text = "slNet_lvalue"; + break; + case slNet_port_header: + text = "slNet_port_header"; + break; + case slNet_port_type: + text = "slNet_port_type"; + break; + case slNet_type_declaration: + text = "slNet_type_declaration"; + break; + case slNetType_Supply0: + text = "slNetType_Supply0"; + break; + case slNetType_Supply1: + text = "slNetType_Supply1"; + break; + case slNetType_Tri: + text = "slNetType_Tri"; + break; + case slNetType_Tri0: + text = "slNetType_Tri0"; + break; + case slNetType_Tri1: + text = "slNetType_Tri1"; + break; + case slNetType_TriAnd: + text = "slNetType_TriAnd"; + break; + case slNetType_TriOr: + text = "slNetType_TriOr"; + break; + case slNetType_TriReg: + text = "slNetType_TriReg"; + break; + case slNetType_Uwire: + text = "slNetType_Uwire"; + break; + case slNetType_Wand: + text = "slNetType_Wand"; + break; + case slNetType_Wire: + text = "slNetType_Wire"; + break; + case slNetType_Wor: + text = "slNetType_Wor"; + break; + case slNext_state: + text = "slNext_state"; + break; + case slNInpGate_And: + text = "slNInpGate_And"; + break; + case slNInpGate_Nand: + text = "slNInpGate_Nand"; + break; + case slNInpGate_Nor: + text = "slNInpGate_Nor"; + break; + case slNInpGate_Or: + text = "slNInpGate_Or"; + break; + case slNInpGate_Xnor: + text = "slNInpGate_Xnor"; + break; + case slNInpGate_Xor: + text = "slNInpGate_Xor"; + break; + case slNoaccelerate_directive: + text = "slNoaccelerate_directive"; + break; + case slNoexpand_vectornets_directive: + text = "slNoexpand_vectornets_directive"; + break; + case slNon_consecutive_repetition: + text = "slNon_consecutive_repetition"; + break; + case slNon_port_interface_item: + text = "slNon_port_interface_item"; + break; + case slNon_port_module_item: + text = "slNon_port_module_item"; + break; + case slNon_port_program_item: + text = "slNon_port_program_item"; + break; + case slNonblocking_assignment: + text = "slNonblocking_assignment"; + break; + case slNonIntType_Real: + text = "slNonIntType_Real"; + break; + case slNonIntType_RealTime: + text = "slNonIntType_RealTime"; + break; + case slNonIntType_ShortReal: + text = "slNonIntType_ShortReal"; + break; + case slNonrange_select: + text = "slNonrange_select"; + break; + case slNonrange_variable_lvalue: + text = "slNonrange_variable_lvalue"; + break; + case slNoremove_gatenames_directive: + text = "slNoremove_gatenames_directive"; + break; + case slNoremove_netnames_directive: + text = "slNoremove_netnames_directive"; + break; + case slNosuppress_faults_directive: + text = "slNosuppress_faults_directive"; + break; + case slNotifier: + text = "slNotifier"; + break; + case slNoType: + text = "slNoType"; + break; + case slNounconnected_drive_directive: + text = "slNounconnected_drive_directive"; + break; + case slNOutGate_Buf: + text = "slNOutGate_Buf"; + break; + case slNOutGate_Not: + text = "slNOutGate_Not"; + break; + case slNull_keyword: + text = "slNull_keyword"; + break; + case slNull_rule: + text = "slNull_rule"; + break; + case slNumber_1TickB0: + text = "slNumber_1TickB0"; + break; + case slNumber_1Tickb0: + text = "slNumber_1Tickb0"; + break; + case slNumber_1TickB1: + text = "slNumber_1TickB1"; + break; + case slNumber_1Tickb1: + text = "slNumber_1Tickb1"; + break; + case slNumber_1TickBX: + text = "slNumber_1TickBX"; + break; + case slNumber_1TickBx: + text = "slNumber_1TickBx"; + break; + case slNumber_1TickbX: + text = "slNumber_1TickbX"; + break; + case slNumber_1Tickbx: + text = "slNumber_1Tickbx"; + break; + case slNumber_Tick0: + text = "slNumber_Tick0"; + break; + case slNumber_Tick1: + text = "slNumber_Tick1"; + break; + case slNumber_TickB0: + text = "slNumber_TickB0"; + break; + case slNumber_Tickb0: + text = "slNumber_Tickb0"; + break; + case slNumber_TickB1: + text = "slNumber_TickB1"; + break; + case slNumber_Tickb1: + text = "slNumber_Tickb1"; + break; + case slOpen_range_list: + text = "slOpen_range_list"; + break; + case slOperator_assignment: + text = "slOperator_assignment"; + break; + case slOr_call: + text = "slOr_call"; + break; + case slOrdered_checker_port_connection: + text = "slOrdered_checker_port_connection"; + break; + case slOrdered_parameter_assignment: + text = "slOrdered_parameter_assignment"; + break; + case slOrdered_port_connection: + text = "slOrdered_port_connection"; + break; + case slOutput_declaration: + text = "slOutput_declaration"; + break; + case slOutput_symbol: + text = "slOutput_symbol"; + break; + case slOverload_declaration: + text = "slOverload_declaration"; + break; + case slOverload_proto_formals: + text = "slOverload_proto_formals"; + break; + case slOverloadOp_Div: + text = "slOverloadOp_Div"; + break; + case slOverloadOp_Equal: + text = "slOverloadOp_Equal"; + break; + case slOverloadOp_Equiv: + text = "slOverloadOp_Equiv"; + break; + case slOverloadOp_Greater: + text = "slOverloadOp_Greater"; + break; + case slOverloadOp_GreaterEqual: + text = "slOverloadOp_GreaterEqual"; + break; + case slOverloadOp_Less: + text = "slOverloadOp_Less"; + break; + case slOverloadOp_LessEqual: + text = "slOverloadOp_LessEqual"; + break; + case slOverloadOp_Minus: + text = "slOverloadOp_Minus"; + break; + case slOverloadOp_MinusMinus: + text = "slOverloadOp_MinusMinus"; + break; + case slOverloadOp_Mult: + text = "slOverloadOp_Mult"; + break; + case slOverloadOp_NotEqual: + text = "slOverloadOp_NotEqual"; + break; + case slOverloadOp_Percent: + text = "slOverloadOp_Percent"; + break; + case slOverloadOp_Plus: + text = "slOverloadOp_Plus"; + break; + case slOverloadOp_PlusPlus: + text = "slOverloadOp_PlusPlus"; + break; + case slOverloadOp_StarStar: + text = "slOverloadOp_StarStar"; + break; + case slPackage: + text = "slPackage"; + break; + case slPackage_declaration: + text = "slPackage_declaration"; + break; + case slPackage_export_declaration: + text = "slPackage_export_declaration"; + break; + case slPackage_import_declaration: + text = "slPackage_import_declaration"; + break; + case slPackage_import_item: + text = "slPackage_import_item"; + break; + case slPackage_item: + text = "slPackage_item"; + break; + case slPackage_or_generate_item_declaration: + text = "slPackage_or_generate_item_declaration"; + break; + case slPacked_dimension: + text = "slPacked_dimension"; + break; + case slPacked_keyword: + text = "slPacked_keyword"; + break; + case slPar_block: + text = "slPar_block"; + break; + case slParallel_edge_sensitive_path_description: + text = "slParallel_edge_sensitive_path_description"; + break; + case slParallel_path_description: + text = "slParallel_path_description"; + break; + case slParam_assignment: + text = "slParam_assignment"; + break; + case slParam_expression: + text = "slParam_expression"; + break; + case slParameter_declaration: + text = "slParameter_declaration"; + break; + case slParameter_override: + text = "slParameter_override"; + break; + case slParameter_port_declaration: + text = "slParameter_port_declaration"; + break; + case slParameter_port_list: + text = "slParameter_port_list"; + break; + case slParameter_value_assignment: + text = "slParameter_value_assignment"; + break; + case slPart_select_range: + text = "slPart_select_range"; + break; + case slPass_enable_switch_instance: + text = "slPass_enable_switch_instance"; + break; + case slPass_switch_instance: + text = "slPass_switch_instance"; + break; + case slPassEnSwitch_RTranif0: + text = "slPassEnSwitch_RTranif0"; + break; + case slPassEnSwitch_RTranif1: + text = "slPassEnSwitch_RTranif1"; + break; + case slPassEnSwitch_Tranif0: + text = "slPassEnSwitch_Tranif0"; + break; + case slPassEnSwitch_Tranif1: + text = "slPassEnSwitch_Tranif1"; + break; + case slPassSwitch_RTran: + text = "slPassSwitch_RTran"; + break; + case slPassSwitch_Tran: + text = "slPassSwitch_Tran"; + break; + case slPath_declaration: + text = "slPath_declaration"; + break; + case slPath_delay_expression: + text = "slPath_delay_expression"; + break; + case slPath_delay_value: + text = "slPath_delay_value"; + break; + case slPattern: + text = "slPattern"; + break; + case slPort: + text = "slPort"; + break; + case slPort_declaration: + text = "slPort_declaration"; + break; + case slPort_expression: + text = "slPort_expression"; + break; + case slPort_reference: + text = "slPort_reference"; + break; + case slPortDir_Inout: + text = "slPortDir_Inout"; + break; + case slPortDir_Inp: + text = "slPortDir_Inp"; + break; + case slPortDir_Out: + text = "slPortDir_Out"; + break; + case slPortDir_Ref: + text = "slPortDir_Ref"; + break; + case slPortInst: + text = "slPortInst"; + break; + case slPound_delay_value: + text = "slPound_delay_value"; + break; + case slPragma_directive: + text = "slPragma_directive"; + break; + case slPragma_expression: + text = "slPragma_expression"; + break; + case slPragma_value: + text = "slPragma_value"; + break; + case slPrimary: + text = "slPrimary"; + break; + case slPrimary_literal: + text = "slPrimary_literal"; + break; + case slPrimitive: + text = "slPrimitive"; + break; + case slPrimitiveInstance: + text = "slPrimitiveInstance"; + break; + case slProcedural_assertion_statement: + text = "slProcedural_assertion_statement"; + break; + case slProcedural_continuous_assignment: + text = "slProcedural_continuous_assignment"; + break; + case slProcedural_timing_control: + text = "slProcedural_timing_control"; + break; + case slProcedural_timing_control_statement: + text = "slProcedural_timing_control_statement"; + break; + case slProduction: + text = "slProduction"; + break; + case slProduction_item: + text = "slProduction_item"; + break; + case slProgram: + text = "slProgram"; + break; + case slProgram_ansi_header: + text = "slProgram_ansi_header"; + break; + case slProgram_declaration: + text = "slProgram_declaration"; + break; + case slProgram_generate_item: + text = "slProgram_generate_item"; + break; + case slProgram_instantiation: + text = "slProgram_instantiation"; + break; + case slProgram_item: + text = "slProgram_item"; + break; + case slProgram_nonansi_header: + text = "slProgram_nonansi_header"; + break; + case slProperty_actual_arg: + text = "slProperty_actual_arg"; + break; + case slProperty_case_item: + text = "slProperty_case_item"; + break; + case slProperty_declaration: + text = "slProperty_declaration"; + break; + case slProperty_expr: + text = "slProperty_expr"; + break; + case slProperty_formal_type: + text = "slProperty_formal_type"; + break; + case slProperty_instance: + text = "slProperty_instance"; + break; + case slProperty_spec: + text = "slProperty_spec"; + break; + case slPropQualifier_ClassItem: + text = "slPropQualifier_ClassItem"; + break; + case slPropQualifier_Rand: + text = "slPropQualifier_Rand"; + break; + case slPropQualifier_Randc: + text = "slPropQualifier_Randc"; + break; + case slProtect_directive: + text = "slProtect_directive"; + break; + case slProtected_directive: + text = "slProtected_directive"; + break; + case slPs_identifier: + text = "slPs_identifier"; + break; + case slPs_or_hierarchical_array_identifier: + text = "slPs_or_hierarchical_array_identifier"; + break; + case slPs_or_hierarchical_identifier: + text = "slPs_or_hierarchical_identifier"; + break; + case slPs_or_hierarchical_sequence_identifier: + text = "slPs_or_hierarchical_sequence_identifier"; + break; + case slPs_type_identifier: + text = "slPs_type_identifier"; + break; + case slPull_gate_instance: + text = "slPull_gate_instance"; + break; + case slPulldownStrength_0: + text = "slPulldownStrength_0"; + break; + case slPulldownStrength_01: + text = "slPulldownStrength_01"; + break; + case slPulldownStrength_10: + text = "slPulldownStrength_10"; + break; + case slPullupStrength_1: + text = "slPullupStrength_1"; + break; + case slPullupStrength_01: + text = "slPullupStrength_01"; + break; + case slPullupStrength_10: + text = "slPullupStrength_10"; + break; + case slPulse_control_specparam: + text = "slPulse_control_specparam"; + break; + case slPulsestyle_declaration: + text = "slPulsestyle_declaration"; + break; + case slPure_keyword: + text = "slPure_keyword"; + break; + case slPure_virtual_qualifier: + text = "slPure_virtual_qualifier"; + break; + case slQueue_dimension: + text = "slQueue_dimension"; + break; + case slRandcase_item: + text = "slRandcase_item"; + break; + case slRandcase_statement: + text = "slRandcase_statement"; + break; + case slRandomize_call: + text = "slRandomize_call"; + break; + case slRandomQualifier_Rand: + text = "slRandomQualifier_Rand"; + break; + case slRandomQualifier_RandC: + text = "slRandomQualifier_RandC"; + break; + case slRandsequence_statement: + text = "slRandsequence_statement"; + break; + case slRange_expression: + text = "slRange_expression"; + break; + case slRange_list: + text = "slRange_list"; + break; + case slRealConst: + text = "slRealConst"; + break; + case slRef_declaration: + text = "slRef_declaration"; + break; + case slReference_event: + text = "slReference_event"; + break; + case slRemain_active_flag: + text = "slRemain_active_flag"; + break; + case slRemove_gatename_directive: + text = "slRemove_gatename_directive"; + break; + case slRemove_netname_directive: + text = "slRemove_netname_directive"; + break; + case slRepeat_keyword: + text = "slRepeat_keyword"; + break; + case slRepeat_range: + text = "slRepeat_range"; + break; + case slRestrict_property_statement: + text = "slRestrict_property_statement"; + break; + case slRs_case: + text = "slRs_case"; + break; + case slRs_case_item: + text = "slRs_case_item"; + break; + case slRs_code_block: + text = "slRs_code_block"; + break; + case slRs_if_else: + text = "slRs_if_else"; + break; + case slRs_prod: + text = "slRs_prod"; + break; + case slRs_production_list: + text = "slRs_production_list"; + break; + case slRs_repeat: + text = "slRs_repeat"; + break; + case slRs_rule: + text = "slRs_rule"; + break; + case slScalar_1TickB0: + text = "slScalar_1TickB0"; + break; + case slScalar_1Tickb0: + text = "slScalar_1Tickb0"; + break; + case slScalar_1TickB1: + text = "slScalar_1TickB1"; + break; + case slScalar_1Tickb1: + text = "slScalar_1Tickb1"; + break; + case slScalar_Integral: + text = "slScalar_Integral"; + break; + case slScalar_TickB0: + text = "slScalar_TickB0"; + break; + case slScalar_Tickb0: + text = "slScalar_Tickb0"; + break; + case slScalar_TickB1: + text = "slScalar_TickB1"; + break; + case slScalar_Tickb1: + text = "slScalar_Tickb1"; + break; + case slScalar_timing_check_condition: + text = "slScalar_timing_check_condition"; + break; + case slSelect: + text = "slSelect"; + break; + case slSelect_condition: + text = "slSelect_condition"; + break; + case slSelect_expression: + text = "slSelect_expression"; + break; + case slSeq_block: + text = "slSeq_block"; + break; + case slSeq_input_list: + text = "slSeq_input_list"; + break; + case slSeqFormatType_Data: + text = "slSeqFormatType_Data"; + break; + case slSeqFormatType_Sequence: + text = "slSeqFormatType_Sequence"; + break; + case slSeqFormatType_Untyped: + text = "slSeqFormatType_Untyped"; + break; + case slSequence_actual_arg: + text = "slSequence_actual_arg"; + break; + case slSequence_declaration: + text = "slSequence_declaration"; + break; + case slSequence_expr: + text = "slSequence_expr"; + break; + case slSequence_instance: + text = "slSequence_instance"; + break; + case slSequence_list_of_arguments: + text = "slSequence_list_of_arguments"; + break; + case slSequence_match_item: + text = "slSequence_match_item"; + break; + case slSequence_method_call: + text = "slSequence_method_call"; + break; + case slSequential_body: + text = "slSequential_body"; + break; + case slSequential_entry: + text = "slSequential_entry"; + break; + case slShowcancelled_declaration: + text = "slShowcancelled_declaration"; + break; + case slSigned_directive: + text = "slSigned_directive"; + break; + case slSigning_Signed: + text = "slSigning_Signed"; + break; + case slSigning_Unsigned: + text = "slSigning_Unsigned"; + break; + case slSimple_immediate_assert_statement: + text = "slSimple_immediate_assert_statement"; + break; + case slSimple_immediate_assertion_statement: + text = "slSimple_immediate_assertion_statement"; + break; + case slSimple_immediate_assume_statement: + text = "slSimple_immediate_assume_statement"; + break; + case slSimple_immediate_cover_statement: + text = "slSimple_immediate_cover_statement"; + break; + case slSimple_path_declaration: + text = "slSimple_path_declaration"; + break; + case slSimple_type: + text = "slSimple_type"; + break; + case slSlice_size: + text = "slSlice_size"; + break; + case slSolve_before_list: + text = "slSolve_before_list"; + break; + case slSource_text: + text = "slSource_text"; + break; + case slSpecify_block: + text = "slSpecify_block"; + break; + case slSpecify_input_terminal_descriptor: + text = "slSpecify_input_terminal_descriptor"; + break; + case slSpecify_item: + text = "slSpecify_item"; + break; + case slSpecify_output_terminal_descriptor: + text = "slSpecify_output_terminal_descriptor"; + break; + case slSpecify_terminal_descriptor: + text = "slSpecify_terminal_descriptor"; + break; + case slSpecparam_assignment: + text = "slSpecparam_assignment"; + break; + case slSpecparam_declaration: + text = "slSpecparam_declaration"; + break; + case slStamptime_condition: + text = "slStamptime_condition"; + break; + case slStart_edge_offset: + text = "slStart_edge_offset"; + break; + case slState_dependent_path_declaration: + text = "slState_dependent_path_declaration"; + break; + case slStatement: + text = "slStatement"; + break; + case slStatement_item: + text = "slStatement_item"; + break; + case slStatement_or_null: + text = "slStatement_or_null"; + break; + case slStream_concatenation: + text = "slStream_concatenation"; + break; + case slStream_expression: + text = "slStream_expression"; + break; + case slStream_operator: + text = "slStream_operator"; + break; + case slStreaming_concatenation: + text = "slStreaming_concatenation"; + break; + case slStrength0_Pull0: + text = "slStrength0_Pull0"; + break; + case slStrength0_Strong0: + text = "slStrength0_Strong0"; + break; + case slStrength0_Supply0: + text = "slStrength0_Supply0"; + break; + case slStrength0_Weak0: + text = "slStrength0_Weak0"; + break; + case slStrength1_Pull1: + text = "slStrength1_Pull1"; + break; + case slStrength1_Strong1: + text = "slStrength1_Strong1"; + break; + case slStrength1_Supply1: + text = "slStrength1_Supply1"; + break; + case slStrength1_Weak1: + text = "slStrength1_Weak1"; + break; + case slString_type: + text = "slString_type"; + break; + case slStringConst: + text = "slStringConst"; + break; + case slStringLiteral: + text = "slStringLiteral"; + break; + case slStruct_keyword: + text = "slStruct_keyword"; + break; + case slStruct_union: + text = "slStruct_union"; + break; + case slStruct_union_member: + text = "slStruct_union_member"; + break; + case slStructure_pattern_key: + text = "slStructure_pattern_key"; + break; + case slSubroutine_call: + text = "slSubroutine_call"; + break; + case slSubroutine_call_statement: + text = "slSubroutine_call_statement"; + break; + case slSuper_dot_new: + text = "slSuper_dot_new"; + break; + case slSuper_keyword: + text = "slSuper_keyword"; + break; + case slSuppress_faults_directive: + text = "slSuppress_faults_directive"; + break; + case slSurelog_macro_not_defined: + text = "slSurelog_macro_not_defined"; + break; + case slSystem_task: + text = "slSystem_task"; + break; + case slSystem_task_names: + text = "slSystem_task_names"; + break; + case slSystem_timing_check: + text = "slSystem_timing_check"; + break; + case slT0x_path_delay_expression: + text = "slT0x_path_delay_expression"; + break; + case slT0z_path_delay_expression: + text = "slT0z_path_delay_expression"; + break; + case slT01_path_delay_expression: + text = "slT01_path_delay_expression"; + break; + case slT1x_path_delay_expression: + text = "slT1x_path_delay_expression"; + break; + case slT1z_path_delay_expression: + text = "slT1z_path_delay_expression"; + break; + case slT10_path_delay_expression: + text = "slT10_path_delay_expression"; + break; + case slT_path_delay_expression: + text = "slT_path_delay_expression"; + break; + case slTagged_keyword: + text = "slTagged_keyword"; + break; + case slTagged_union_expression: + text = "slTagged_union_expression"; + break; + case slTask_body_declaration: + text = "slTask_body_declaration"; + break; + case slTask_declaration: + text = "slTask_declaration"; + break; + case slTask_name_decl: + text = "slTask_name_decl"; + break; + case slTask_prototype: + text = "slTask_prototype"; + break; + case slTf_item_declaration: + text = "slTf_item_declaration"; + break; + case slTf_port_declaration: + text = "slTf_port_declaration"; + break; + case slTf_port_item: + text = "slTf_port_item"; + break; + case slTf_port_list: + text = "slTf_port_list"; + break; + case slTfall_path_delay_expression: + text = "slTfall_path_delay_expression"; + break; + case slTfPortDir_ConstRef: + text = "slTfPortDir_ConstRef"; + break; + case slTfPortDir_Inout: + text = "slTfPortDir_Inout"; + break; + case slTfPortDir_Inp: + text = "slTfPortDir_Inp"; + break; + case slTfPortDir_Out: + text = "slTfPortDir_Out"; + break; + case slTfPortDir_Ref: + text = "slTfPortDir_Ref"; + break; + case slThis: + text = "slThis"; + break; + case slThis_dot_super: + text = "slThis_dot_super"; + break; + case slThis_keyword: + text = "slThis_keyword"; + break; + case slThreshold: + text = "slThreshold"; + break; + case slTime_literal: + text = "slTime_literal"; + break; + case slTime_unit: + text = "slTime_unit"; + break; + case slTimescale_directive: + text = "slTimescale_directive"; + break; + case slTimeUnitsDecl_TimePrecision: + text = "slTimeUnitsDecl_TimePrecision"; + break; + case slTimeUnitsDecl_TimePrecisionTimeUnit: + text = "slTimeUnitsDecl_TimePrecisionTimeUnit"; + break; + case slTimeUnitsDecl_TimeUnit: + text = "slTimeUnitsDecl_TimeUnit"; + break; + case slTimeUnitsDecl_TimeUnitDiv: + text = "slTimeUnitsDecl_TimeUnitDiv"; + break; + case slTimeUnitsDecl_TimeUnitTimePrecision: + text = "slTimeUnitsDecl_TimeUnitTimePrecision"; + break; + case slTiming_check_condition: + text = "slTiming_check_condition"; + break; + case slTiming_check_event: + text = "slTiming_check_event"; + break; + case slTiming_check_limit: + text = "slTiming_check_limit"; + break; + case slTimingCheckEventControl_Edge: + text = "slTimingCheckEventControl_Edge"; + break; + case slTimingCheckEventControl_Negedge: + text = "slTimingCheckEventControl_Negedge"; + break; + case slTimingCheckEventControl_Posedge: + text = "slTimingCheckEventControl_Posedge"; + break; + case slTop_directives: + text = "slTop_directives"; + break; + case slTop_level_library_rule: + text = "slTop_level_library_rule"; + break; + case slTop_level_rule: + text = "slTop_level_rule"; + break; + case slTrans_list: + text = "slTrans_list"; + break; + case slTrans_range_list: + text = "slTrans_range_list"; + break; + case slTrans_set: + text = "slTrans_set"; + break; + case slTrise_path_delay_expression: + text = "slTrise_path_delay_expression"; + break; + case slTx0_path_delay_expression: + text = "slTx0_path_delay_expression"; + break; + case slTx1_path_delay_expression: + text = "slTx1_path_delay_expression"; + break; + case slTxz_path_delay_expression: + text = "slTxz_path_delay_expression"; + break; + case slType_declaration: + text = "slType_declaration"; + break; + case slType_reference: + text = "slType_reference"; + break; + case slTz0_path_delay_expression: + text = "slTz0_path_delay_expression"; + break; + case slTz1_path_delay_expression: + text = "slTz1_path_delay_expression"; + break; + case slTz_path_delay_expression: + text = "slTz_path_delay_expression"; + break; + case slTzx_path_delay_expression: + text = "slTzx_path_delay_expression"; + break; + case slUdp_ansi_declaration: + text = "slUdp_ansi_declaration"; + break; + case slUdp_body: + text = "slUdp_body"; + break; + case slUdp_declaration: + text = "slUdp_declaration"; + break; + case slUdp_declaration_port_list: + text = "slUdp_declaration_port_list"; + break; + case slUdp_initial_statement: + text = "slUdp_initial_statement"; + break; + case slUdp_input_declaration: + text = "slUdp_input_declaration"; + break; + case slUdp_instance: + text = "slUdp_instance"; + break; + case slUdp_instantiation: + text = "slUdp_instantiation"; + break; + case slUdp_nonansi_declaration: + text = "slUdp_nonansi_declaration"; + break; + case slUdp_output_declaration: + text = "slUdp_output_declaration"; + break; + case slUdp_port_declaration: + text = "slUdp_port_declaration"; + break; + case slUdp_port_list: + text = "slUdp_port_list"; + break; + case slUdp_reg_declaration: + text = "slUdp_reg_declaration"; + break; + case slUnary_BitwAnd: + text = "slUnary_BitwAnd"; + break; + case slUnary_BitwOr: + text = "slUnary_BitwOr"; + break; + case slUnary_BitwXor: + text = "slUnary_BitwXor"; + break; + case slUnary_Minus: + text = "slUnary_Minus"; + break; + case slUnary_Not: + text = "slUnary_Not"; + break; + case slUnary_Plus: + text = "slUnary_Plus"; + break; + case slUnary_ReductNand: + text = "slUnary_ReductNand"; + break; + case slUnary_ReductNor: + text = "slUnary_ReductNor"; + break; + case slUnary_ReductXnor1: + text = "slUnary_ReductXnor1"; + break; + case slUnary_ReductXnor2: + text = "slUnary_ReductXnor2"; + break; + case slUnary_Tilda: + text = "slUnary_Tilda"; + break; + case slUnaryModOp_BitwAnd: + text = "slUnaryModOp_BitwAnd"; + break; + case slUnaryModOp_BitwOr: + text = "slUnaryModOp_BitwOr"; + break; + case slUnaryModOp_BitwXor: + text = "slUnaryModOp_BitwXor"; + break; + case slUnaryModOp_Not: + text = "slUnaryModOp_Not"; + break; + case slUnaryModOp_ReductNand: + text = "slUnaryModOp_ReductNand"; + break; + case slUnaryModOp_ReductNor: + text = "slUnaryModOp_ReductNor"; + break; + case slUnaryModOp_ReductXNor1: + text = "slUnaryModOp_ReductXNor1"; + break; + case slUnaryModOp_ReductXnor2: + text = "slUnaryModOp_ReductXnor2"; + break; + case slUnaryModOp_Tilda: + text = "slUnaryModOp_Tilda"; + break; + case slUnconnected_drive_directive: + text = "slUnconnected_drive_directive"; + break; + case slUnion_keyword: + text = "slUnion_keyword"; + break; + case slUnique_call: + text = "slUnique_call"; + break; + case slUnique_priority: + text = "slUnique_priority"; + break; + case slUniqueness_constraint: + text = "slUniqueness_constraint"; + break; + case slUnpacked_dimension: + text = "slUnpacked_dimension"; + break; + case slUnsigned_directive: + text = "slUnsigned_directive"; + break; + case slUnsized_dimension: + text = "slUnsized_dimension"; + break; + case slUse_clause: + text = "slUse_clause"; + break; + case slUse_clause_config: + text = "slUse_clause_config"; + break; + case slUselib_directive: + text = "slUselib_directive"; + break; + case slValue_range: + text = "slValue_range"; + break; + case slVar_data_type: + text = "slVar_data_type"; + break; + case slVariable_assignment: + text = "slVariable_assignment"; + break; + case slVariable_decl_assignment: + text = "slVariable_decl_assignment"; + break; + case slVariable_declaration: + text = "slVariable_declaration"; + break; + case slVariable_dimension: + text = "slVariable_dimension"; + break; + case slVariable_lvalue: + text = "slVariable_lvalue"; + break; + case slVariable_port_header: + text = "slVariable_port_header"; + break; + case slVariable_port_type: + text = "slVariable_port_type"; + break; + case slVirtual_interface_declaration: + text = "slVirtual_interface_declaration"; + break; + case slWait_statement: + text = "slWait_statement"; + break; + case slWhile_keyword: + text = "slWhile_keyword"; + break; + case slX: + text = "slX"; + break; + case slXor_call: + text = "slXor_call"; + break; + case slZ: + text = "slZ"; + break; + }; + return text; +} +
diff --git a/src/SourceCompile/VObjectTypes.h b/src/SourceCompile/VObjectTypes.h new file mode 100644 index 0000000..1372859 --- /dev/null +++ b/src/SourceCompile/VObjectTypes.h
@@ -0,0 +1,923 @@ + +// This file is automatically generated by generate_parser_listener.tcl +// DO NOT EDIT + +#ifndef VOBJECTTYPES_H +#define VOBJECTTYPES_H +typedef enum { + sl0 = 0, + sl1 = 1, + slAccelerate_directive = 2, + slAction_block = 3, + slActual_arg_expr = 4, + slActual_arg_list = 5, + slAlways_construct = 6, + slAlwaysKeywd_Always = 7, + slAlwaysKeywd_Comb = 8, + slAlwaysKeywd_FF = 9, + slAlwaysKeywd_Latch = 10, + slAnd_call = 11, + slAnonymous_program = 12, + slAnonymous_program_item = 13, + slAnsi_port_declaration = 14, + slArray_manipulation_call = 15, + slArray_member_label = 16, + slArray_method_name = 17, + slArray_pattern_key = 18, + slArray_range_expression = 19, + slAssert_property_statement = 20, + slAssertion_item = 21, + slAssertion_item_declaration = 22, + slAssertion_variable_declaration = 23, + slAssignment_pattern = 24, + slAssignment_pattern_expression = 25, + slAssignment_pattern_expression_type = 26, + slAssignment_pattern_key = 27, + slAssignment_pattern_net_lvalue = 28, + slAssignment_pattern_variable_lvalue = 29, + slAssignOp_Add = 30, + slAssignOp_ArithShiftLeft = 31, + slAssignOp_ArithShiftRight = 32, + slAssignOp_Assign = 33, + slAssignOp_BitwAnd = 34, + slAssignOp_BitwLeftShift = 35, + slAssignOp_BitwOr = 36, + slAssignOp_BitwRightShift = 37, + slAssignOp_BitwXor = 38, + slAssignOp_Div = 39, + slAssignOp_Modulo = 40, + slAssignOp_Mult = 41, + slAssignOp_Sub = 42, + slAssociative_dimension = 43, + slAssume_property_statement = 44, + slAttr_name = 45, + slAttr_spec = 46, + slAttribute_instance = 47, + slAutoexpand_vectornets_directive = 48, + slBind_directive = 49, + slBind_instantiation = 50, + slBinModOp_BitwAnd = 51, + slBinModOp_BitwOr = 52, + slBinModOp_BitwXor = 53, + slBinModOp_Equiv = 54, + slBinModOp_LogicAnd = 55, + slBinModOp_LogicOr = 56, + slBinModOp_NotEqual = 57, + slBinModOp_ReductXnor1 = 58, + slBinModOp_ReductXnor2 = 59, + slBinOp_ArithShiftLeft = 60, + slBinOp_ArithShiftRight = 61, + slBinOp_BitwAnd = 62, + slBinOp_BitwOr = 63, + slBinOp_BitwXor = 64, + slBinOp_Div = 65, + slBinOp_Equiv = 66, + slBinOp_Equivalence = 67, + slBinOp_FourStateLogicEqual = 68, + slBinOp_FourStateLogicNotEqual = 69, + slBinOp_Great = 70, + slBinOp_GreatEqual = 71, + slBinOp_Imply = 72, + slBinOp_Less = 73, + slBinOp_LessEqual = 74, + slBinOp_LogicAnd = 75, + slBinOp_LogicOr = 76, + slBinOp_Minus = 77, + slBinOp_Mult = 78, + slBinOp_MultMult = 79, + slBinOp_Not = 80, + slBinOp_Percent = 81, + slBinOp_Plus = 82, + slBinOp_ReductNand = 83, + slBinOp_ReductNor = 84, + slBinOp_ReductXnor1 = 85, + slBinOp_ReductXnor2 = 86, + slBinOp_ShiftLeft = 87, + slBinOp_ShiftRight = 88, + slBinOp_WildcardEqual = 89, + slBinOp_WildcardNotEqual = 90, + slBinOp_WildEqual = 91, + slBinOp_WildNotEqual = 92, + slBins_Bins = 93, + slBins_expression = 94, + slBins_Ignore = 95, + slBins_Illegal = 96, + slBins_or_empty = 97, + slBins_or_options = 98, + slBins_selection = 99, + slBins_selection_or_option = 100, + slBit_select = 101, + slBlock_event_expression = 102, + slBlock_item_declaration = 103, + slBlocking_assignment = 104, + slBoolean_abbrev = 105, + slBuilt_in_method_call = 106, + slCase_generate_construct = 107, + slCase_generate_item = 108, + slCase_inside_item = 109, + slCase_item = 110, + slCase_pattern_item = 111, + slCase_statement = 112, + slCaseKeyword_Case = 113, + slCaseKeyword_CaseX = 114, + slCaseKeyword_CaseZ = 115, + slCast = 116, + slCasting_type = 117, + slCell_clause = 118, + slCelldefine_directive = 119, + slChandle_type = 120, + slChargeStrength_Large = 121, + slChargeStrength_Medium = 122, + slChargeStrength_Small = 123, + slChecker = 124, + slChecker_declaration = 125, + slChecker_generate_item = 126, + slChecker_instantiation = 127, + slChecker_or_generate_item = 128, + slChecker_or_generate_item_declaration = 129, + slChecker_port_item = 130, + slChecker_port_list = 131, + slClass = 132, + slClass_constraint = 133, + slClass_constructor_declaration = 134, + slClass_constructor_prototype = 135, + slClass_declaration = 136, + slClass_item = 137, + slClass_keyword = 138, + slClass_method = 139, + slClass_new = 140, + slClass_property = 141, + slClass_scope = 142, + slClass_type = 143, + slClassItemQualifier_Local = 144, + slClassItemQualifier_Protected = 145, + slClassItemQualifier_Static = 146, + slClocking_decl_assign = 147, + slClocking_declaration = 148, + slClocking_drive = 149, + slClocking_event = 150, + slClocking_item = 151, + slClocking_skew = 152, + slClockingDir_Inout = 153, + slClockingDir_Input = 154, + slClockingDir_InputOutput = 155, + slClockingDir_Output = 156, + slClockvar = 157, + slClockvar_expression = 158, + slCmos_switch_instance = 159, + slCmosSwitchType_Cmos = 160, + slCmosSwitchType_RCmos = 161, + slCombinational_body = 162, + slCombinational_entry = 163, + slComments = 164, + slComplex_func_call = 165, + slConcatenation = 166, + slConcurrent_assertion_item = 167, + slConcurrent_assertion_item_declaration = 168, + slConcurrent_assertion_statement = 169, + slCond_predicate = 170, + slConditional_generate_construct = 171, + slConditional_statement = 172, + slConfig_declaration = 173, + slConfig_rule_statement = 174, + slConsecutive_repetition = 175, + slConst_or_range_expression = 176, + slConst_type = 177, + slConstant_assignment_pattern_expression = 178, + slConstant_bit_select = 179, + slConstant_cast = 180, + slConstant_concatenation = 181, + slConstant_expression = 182, + slConstant_indexed_range = 183, + slConstant_mintypmax_expression = 184, + slConstant_multiple_concatenation = 185, + slConstant_param_expression = 186, + slConstant_part_select_range = 187, + slConstant_primary = 188, + slConstant_range = 189, + slConstant_range_expression = 190, + slConstant_select = 191, + slConstantSelect = 192, + slConstraint_block = 193, + slConstraint_block_item = 194, + slConstraint_declaration = 195, + slConstraint_expression = 196, + slConstraint_primary = 197, + slConstraint_prototype = 198, + slConstraint_set = 199, + slConstSelect = 200, + slContext_keyword = 201, + slContinuous_assign = 202, + slControlled_timing_check_event = 203, + slCover_cross = 204, + slCover_point = 205, + slCover_property_statement = 206, + slCover_sequence_statement = 207, + slCoverage_event = 208, + slCoverage_option = 209, + slCoverage_spec = 210, + slCoverage_spec_or_option = 211, + slCovergroup_declaration = 212, + slCross_body = 213, + slCross_body_item = 214, + slCross_item = 215, + slCycle_delay = 216, + slCycle_delay_const_range_expression = 217, + slCycle_delay_range = 218, + slData_declaration = 219, + slData_type = 220, + slData_type_or_implicit = 221, + slData_type_or_void = 222, + slDefault_clause = 223, + slDefault_decay_time_directive = 224, + slDefault_nettype_directive = 225, + slDefault_trireg_strenght_directive = 226, + slDefaultSkew_Intput = 227, + slDefaultSkew_IntputOutput = 228, + slDefaultSkew_Output = 229, + slDeferred_immediate_assert_statement = 230, + slDeferred_immediate_assertion_item = 231, + slDeferred_immediate_assertion_statement = 232, + slDeferred_immediate_assume_statement = 233, + slDeferred_immediate_cover_statement = 234, + slDefparam_assignment = 235, + slDelay2 = 236, + slDelay3 = 237, + slDelay_control = 238, + slDelay_mode_distributed_directive = 239, + slDelay_mode_path_directive = 240, + slDelay_mode_unit_directive = 241, + slDelay_mode_zero_directive = 242, + slDelay_or_event_control = 243, + slDelay_value = 244, + slDelayed_data = 245, + slDelayed_reference = 246, + slDescription = 247, + slDesign_statement = 248, + slDisable_portfaults_directive = 249, + slDisable_statement = 250, + slDist_item = 251, + slDist_list = 252, + slDistWeight_AssignRange = 253, + slDistWeight_AssignValue = 254, + slDollar_fullskew_timing_check = 255, + slDollar_hold_timing_check = 256, + slDollar_keyword = 257, + slDollar_nochange_timing_check = 258, + slDollar_period_timing_check = 259, + slDollar_recovery_timing_check = 260, + slDollar_recrem_timing_check = 261, + slDollar_removal_timing_check = 262, + slDollar_root_keyword = 263, + slDollar_setup_timing_check = 264, + slDollar_setuphold_timing_check = 265, + slDollar_skew_timing_check = 266, + slDollar_timeskew_timing_check = 267, + slDollar_width_timing_check = 268, + slDpi_import_export = 269, + slDrive_strength = 270, + slDynamic_array_new = 271, + slEdge_control_specifier = 272, + slEdge_descriptor = 273, + slEdge_Edge = 274, + slEdge_indicator = 275, + slEdge_input_list = 276, + slEdge_Negedge = 277, + slEdge_Posedge = 278, + slEdge_sensitive_path_declaration = 279, + slEdge_symbol = 280, + slElaboration_system_task = 281, + slEmpty_queue = 282, + slEnable_gate_instance = 283, + slEnable_portfaults_directive = 284, + slEnableGateType_Bufif0 = 285, + slEnableGateType_Bufif1 = 286, + slEnableGateType_Notif0 = 287, + slEnableGateType_Notif1 = 288, + slEnd = 289, + slEnd_edge_offset = 290, + slEndcase = 291, + slEndcelldefine_directive = 292, + slEndchecker = 293, + slEndclass = 294, + slEndclocking = 295, + slEndconfig = 296, + slEndfunction = 297, + slEndgenerate = 298, + slEndgroup = 299, + slEndinterface = 300, + slEndmodule = 301, + slEndpackage = 302, + slEndprimitive = 303, + slEndprogram = 304, + slEndproperty = 305, + slEndprotect_directive = 306, + slEndprotected_directive = 307, + slEndsequence = 308, + slEndspecify = 309, + slEndtable = 310, + slEndtask = 311, + slEnum_base_type = 312, + slEnum_keyword = 313, + slEnum_name_declaration = 314, + slEvent_based_flag = 315, + slEvent_control = 316, + slEvent_expression = 317, + slEvent_trigger = 318, + slEvent_type = 319, + slExpand_vectornets_directive = 320, + slExpect_property_statement = 321, + slExpression = 322, + slExpression_or_cond_pattern = 323, + slExpression_or_dist = 324, + slExtern_constraint_declaration = 325, + slExtern_qualifier = 326, + slExtern_tf_declaration = 327, + slFinal_construct = 328, + slFor_initialization = 329, + slFor_step = 330, + slFor_step_assignment = 331, + slFor_variable_declaration = 332, + slForever_keyword = 333, + slFormal_list_item = 334, + slFull_edge_sensitive_path_description = 335, + slFull_path_description = 336, + slFunction_body_declaration = 337, + slFunction_data_type = 338, + slFunction_data_type_or_implicit = 339, + slFunction_declaration = 340, + slFunction_name_decl = 341, + slFunction_prototype = 342, + slFunction_statement_or_null = 343, + slGate_instantiation = 344, + slGenerate_block = 345, + slGenerate_interface_block = 346, + slGenerate_interface_case_statement = 347, + slGenerate_interface_conditional_statement = 348, + slGenerate_interface_item = 349, + slGenerate_interface_loop_statement = 350, + slGenerate_interface_named_block = 351, + slGenerate_item = 352, + slGenerate_module_block = 353, + slGenerate_module_case_statement = 354, + slGenerate_module_conditional_statement = 355, + slGenerate_module_item = 356, + slGenerate_module_loop_statement = 357, + slGenerate_module_named_block = 358, + slGenerate_region = 359, + slGenerated_interface_instantiation = 360, + slGenerated_module_instantiation = 361, + slGenericElementType = 362, + slGenvar_assignment = 363, + slGenvar_decl_assignment = 364, + slGenvar_declaration = 365, + slGenvar_initialization = 366, + slGenvar_interface_case_item = 367, + slGenvar_iteration = 368, + slGenvar_module_case_item = 369, + slGoto_repetition = 370, + slHierarchical_btf_identifier = 371, + slHierarchical_identifier = 372, + slHierarchical_instance = 373, + slIdentifier_list = 374, + slIf_generate_construct = 375, + slImmediate_assertion_statement = 376, + slImplicit_class_handle = 377, + slImplicit_data_type = 378, + slInc_or_dec_expression = 379, + slIncDec_MinusMinus = 380, + slIncDec_PlusPlus = 381, + slInclude_statement = 382, + slIndexed_range = 383, + slInitial_construct = 384, + slInitVal_1TickB0 = 385, + slInitVal_1Tickb0 = 386, + slInitVal_1TickB1 = 387, + slInitVal_1Tickb1 = 388, + slInitVal_1TickBX = 389, + slInitVal_1TickBx = 390, + slInitVal_1TickbX = 391, + slInitVal_1Tickbx = 392, + slInitVal_Integral = 393, + slInout_declaration = 394, + slInput_declaration = 395, + slInst_clause = 396, + slInst_name = 397, + slIntConst = 398, + slInteger_type = 399, + slIntegerAtomType_Byte = 400, + slIntegerAtomType_Int = 401, + slIntegerAtomType_LongInt = 402, + slIntegerAtomType_Shortint = 403, + slIntegerAtomType_Time = 404, + slInterface = 405, + slInterface_ansi_header = 406, + slInterface_class_declaration = 407, + slInterface_class_item = 408, + slInterface_class_keyword = 409, + slInterface_class_method = 410, + slInterface_class_type = 411, + slInterface_declaration = 412, + slInterface_identifier = 413, + slInterface_instantiation = 414, + slInterface_item = 415, + slInterface_nonansi_header = 416, + slInterface_or_generate_item = 417, + slInterface_port_declaration = 418, + slInterface_port_header = 419, + slIntVec_TypeBit = 420, + slIntVec_TypeLogic = 421, + slIntVec_TypeReg = 422, + slJoin_any_keyword = 423, + slJoin_keyword = 424, + slJoin_none_keyword = 425, + slJump_statement = 426, + slLet_declaration = 427, + slLet_formal_type = 428, + slLet_port_item = 429, + slLet_port_list = 430, + slLevel_input_list = 431, + slLevel_symbol = 432, + slLiblist_clause = 433, + slLibrary_declaration = 434, + slLibrary_descriptions = 435, + slLibrary_text = 436, + slLifetime_Automatic = 437, + slLifetime_Static = 438, + slList_of_arguments = 439, + slList_of_checker_port_connections = 440, + slList_of_clocking_decl_assign = 441, + slList_of_cross_items = 442, + slList_of_defparam_assignments = 443, + slList_of_formals = 444, + slList_of_interface_identifiers = 445, + slList_of_net_assignments = 446, + slList_of_net_decl_assignments = 447, + slList_of_param_assignments = 448, + slList_of_parameter_assignments = 449, + slList_of_path_delay_expressions = 450, + slList_of_path_inputs = 451, + slList_of_path_outputs = 452, + slList_of_port_connections = 453, + slList_of_port_declarations = 454, + slList_of_port_identifiers = 455, + slList_of_ports = 456, + slList_of_specparam_assignments = 457, + slList_of_tf_variable_identifiers = 458, + slList_of_type_assignments = 459, + slList_of_variable_assignments = 460, + slList_of_variable_decl_assignments = 461, + slList_of_variable_identifiers = 462, + slList_of_variable_port_identifiers = 463, + slList_of_virtual_interface_decl = 464, + slLocal_parameter_declaration = 465, + slLoop_generate_construct = 466, + slLoop_statement = 467, + slLoop_variables = 468, + slMethod_call = 469, + slMethod_call_body = 470, + slMethod_call_root = 471, + slMethod_prototype = 472, + slMethodQualifier_ClassItem = 473, + slMethodQualifier_Virtual = 474, + slMintypmax_expression = 475, + slModport_hierarchical_ports_declaration = 476, + slModport_item = 477, + slModport_ports_declaration = 478, + slModport_simple_port = 479, + slModport_simple_ports_declaration = 480, + slModport_tf_port = 481, + slModport_tf_ports_declaration = 482, + slModule = 483, + slModule_ansi_header = 484, + slModule_common_item = 485, + slModule_declaration = 486, + slModule_instantiation = 487, + slModule_item = 488, + slModule_keyword = 489, + slModule_nonansi_header = 490, + slModule_or_generate_item = 491, + slModule_or_generate_item_declaration = 492, + slModule_path_concatenation = 493, + slModule_path_expression = 494, + slModule_path_mintypmax_expression = 495, + slModule_path_multiple_concatenation = 496, + slModule_path_primary = 497, + slModuleInstance = 498, + slMos_switch_instance = 499, + slMosSwitchType_NMos = 500, + slMosSwitchType_PMos = 501, + slMosSwitchType_RNMos = 502, + slMosSwitchType_RPMos = 503, + slMultiple_concatenation = 504, + slN_input_gate_instance = 505, + slN_output_gate_instance = 506, + slName_of_instance = 507, + slNamed_checker_port_connection = 508, + slNamed_parameter_assignment = 509, + slNamed_port_connection = 510, + slNet_alias = 511, + slNet_assignment = 512, + slNet_decl_assignment = 513, + slNet_declaration = 514, + slNet_lvalue = 515, + slNet_port_header = 516, + slNet_port_type = 517, + slNet_type_declaration = 518, + slNetType_Supply0 = 519, + slNetType_Supply1 = 520, + slNetType_Tri = 521, + slNetType_Tri0 = 522, + slNetType_Tri1 = 523, + slNetType_TriAnd = 524, + slNetType_TriOr = 525, + slNetType_TriReg = 526, + slNetType_Uwire = 527, + slNetType_Wand = 528, + slNetType_Wire = 529, + slNetType_Wor = 530, + slNext_state = 531, + slNInpGate_And = 532, + slNInpGate_Nand = 533, + slNInpGate_Nor = 534, + slNInpGate_Or = 535, + slNInpGate_Xnor = 536, + slNInpGate_Xor = 537, + slNoaccelerate_directive = 538, + slNoexpand_vectornets_directive = 539, + slNon_consecutive_repetition = 540, + slNon_port_interface_item = 541, + slNon_port_module_item = 542, + slNon_port_program_item = 543, + slNonblocking_assignment = 544, + slNonIntType_Real = 545, + slNonIntType_RealTime = 546, + slNonIntType_ShortReal = 547, + slNonrange_select = 548, + slNonrange_variable_lvalue = 549, + slNoremove_gatenames_directive = 550, + slNoremove_netnames_directive = 551, + slNosuppress_faults_directive = 552, + slNotifier = 553, + slNoType = 554, + slNounconnected_drive_directive = 555, + slNOutGate_Buf = 556, + slNOutGate_Not = 557, + slNull_keyword = 558, + slNull_rule = 559, + slNumber_1TickB0 = 560, + slNumber_1Tickb0 = 561, + slNumber_1TickB1 = 562, + slNumber_1Tickb1 = 563, + slNumber_1TickBX = 564, + slNumber_1TickBx = 565, + slNumber_1TickbX = 566, + slNumber_1Tickbx = 567, + slNumber_Tick0 = 568, + slNumber_Tick1 = 569, + slNumber_TickB0 = 570, + slNumber_Tickb0 = 571, + slNumber_TickB1 = 572, + slNumber_Tickb1 = 573, + slOpen_range_list = 574, + slOperator_assignment = 575, + slOr_call = 576, + slOrdered_checker_port_connection = 577, + slOrdered_parameter_assignment = 578, + slOrdered_port_connection = 579, + slOutput_declaration = 580, + slOutput_symbol = 581, + slOverload_declaration = 582, + slOverload_proto_formals = 583, + slOverloadOp_Div = 584, + slOverloadOp_Equal = 585, + slOverloadOp_Equiv = 586, + slOverloadOp_Greater = 587, + slOverloadOp_GreaterEqual = 588, + slOverloadOp_Less = 589, + slOverloadOp_LessEqual = 590, + slOverloadOp_Minus = 591, + slOverloadOp_MinusMinus = 592, + slOverloadOp_Mult = 593, + slOverloadOp_NotEqual = 594, + slOverloadOp_Percent = 595, + slOverloadOp_Plus = 596, + slOverloadOp_PlusPlus = 597, + slOverloadOp_StarStar = 598, + slPackage = 599, + slPackage_declaration = 600, + slPackage_export_declaration = 601, + slPackage_import_declaration = 602, + slPackage_import_item = 603, + slPackage_item = 604, + slPackage_or_generate_item_declaration = 605, + slPacked_dimension = 606, + slPacked_keyword = 607, + slPar_block = 608, + slParallel_edge_sensitive_path_description = 609, + slParallel_path_description = 610, + slParam_assignment = 611, + slParam_expression = 612, + slParameter_declaration = 613, + slParameter_override = 614, + slParameter_port_declaration = 615, + slParameter_port_list = 616, + slParameter_value_assignment = 617, + slPart_select_range = 618, + slPass_enable_switch_instance = 619, + slPass_switch_instance = 620, + slPassEnSwitch_RTranif0 = 621, + slPassEnSwitch_RTranif1 = 622, + slPassEnSwitch_Tranif0 = 623, + slPassEnSwitch_Tranif1 = 624, + slPassSwitch_RTran = 625, + slPassSwitch_Tran = 626, + slPath_declaration = 627, + slPath_delay_expression = 628, + slPath_delay_value = 629, + slPattern = 630, + slPort = 631, + slPort_declaration = 632, + slPort_expression = 633, + slPort_reference = 634, + slPortDir_Inout = 635, + slPortDir_Inp = 636, + slPortDir_Out = 637, + slPortDir_Ref = 638, + slPortInst = 639, + slPound_delay_value = 640, + slPragma_directive = 641, + slPragma_expression = 642, + slPragma_value = 643, + slPrimary = 644, + slPrimary_literal = 645, + slPrimitive = 646, + slPrimitiveInstance = 647, + slProcedural_assertion_statement = 648, + slProcedural_continuous_assignment = 649, + slProcedural_timing_control = 650, + slProcedural_timing_control_statement = 651, + slProduction = 652, + slProduction_item = 653, + slProgram = 654, + slProgram_ansi_header = 655, + slProgram_declaration = 656, + slProgram_generate_item = 657, + slProgram_instantiation = 658, + slProgram_item = 659, + slProgram_nonansi_header = 660, + slProperty_actual_arg = 661, + slProperty_case_item = 662, + slProperty_declaration = 663, + slProperty_expr = 664, + slProperty_formal_type = 665, + slProperty_instance = 666, + slProperty_spec = 667, + slPropQualifier_ClassItem = 668, + slPropQualifier_Rand = 669, + slPropQualifier_Randc = 670, + slProtect_directive = 671, + slProtected_directive = 672, + slPs_identifier = 673, + slPs_or_hierarchical_array_identifier = 674, + slPs_or_hierarchical_identifier = 675, + slPs_or_hierarchical_sequence_identifier = 676, + slPs_type_identifier = 677, + slPull_gate_instance = 678, + slPulldownStrength_0 = 679, + slPulldownStrength_01 = 680, + slPulldownStrength_10 = 681, + slPullupStrength_1 = 682, + slPullupStrength_01 = 683, + slPullupStrength_10 = 684, + slPulse_control_specparam = 685, + slPulsestyle_declaration = 686, + slPure_keyword = 687, + slPure_virtual_qualifier = 688, + slQueue_dimension = 689, + slRandcase_item = 690, + slRandcase_statement = 691, + slRandomize_call = 692, + slRandomQualifier_Rand = 693, + slRandomQualifier_RandC = 694, + slRandsequence_statement = 695, + slRange_expression = 696, + slRange_list = 697, + slRealConst = 698, + slRef_declaration = 699, + slReference_event = 700, + slRemain_active_flag = 701, + slRemove_gatename_directive = 702, + slRemove_netname_directive = 703, + slRepeat_keyword = 704, + slRepeat_range = 705, + slRestrict_property_statement = 706, + slRs_case = 707, + slRs_case_item = 708, + slRs_code_block = 709, + slRs_if_else = 710, + slRs_prod = 711, + slRs_production_list = 712, + slRs_repeat = 713, + slRs_rule = 714, + slScalar_1TickB0 = 715, + slScalar_1Tickb0 = 716, + slScalar_1TickB1 = 717, + slScalar_1Tickb1 = 718, + slScalar_Integral = 719, + slScalar_TickB0 = 720, + slScalar_Tickb0 = 721, + slScalar_TickB1 = 722, + slScalar_Tickb1 = 723, + slScalar_timing_check_condition = 724, + slSelect = 725, + slSelect_condition = 726, + slSelect_expression = 727, + slSeq_block = 728, + slSeq_input_list = 729, + slSeqFormatType_Data = 730, + slSeqFormatType_Sequence = 731, + slSeqFormatType_Untyped = 732, + slSequence_actual_arg = 733, + slSequence_declaration = 734, + slSequence_expr = 735, + slSequence_instance = 736, + slSequence_list_of_arguments = 737, + slSequence_match_item = 738, + slSequence_method_call = 739, + slSequential_body = 740, + slSequential_entry = 741, + slShowcancelled_declaration = 742, + slSigned_directive = 743, + slSigning_Signed = 744, + slSigning_Unsigned = 745, + slSimple_immediate_assert_statement = 746, + slSimple_immediate_assertion_statement = 747, + slSimple_immediate_assume_statement = 748, + slSimple_immediate_cover_statement = 749, + slSimple_path_declaration = 750, + slSimple_type = 751, + slSlice_size = 752, + slSolve_before_list = 753, + slSource_text = 754, + slSpecify_block = 755, + slSpecify_input_terminal_descriptor = 756, + slSpecify_item = 757, + slSpecify_output_terminal_descriptor = 758, + slSpecify_terminal_descriptor = 759, + slSpecparam_assignment = 760, + slSpecparam_declaration = 761, + slStamptime_condition = 762, + slStart_edge_offset = 763, + slState_dependent_path_declaration = 764, + slStatement = 765, + slStatement_item = 766, + slStatement_or_null = 767, + slStream_concatenation = 768, + slStream_expression = 769, + slStream_operator = 770, + slStreaming_concatenation = 771, + slStrength0_Pull0 = 772, + slStrength0_Strong0 = 773, + slStrength0_Supply0 = 774, + slStrength0_Weak0 = 775, + slStrength1_Pull1 = 776, + slStrength1_Strong1 = 777, + slStrength1_Supply1 = 778, + slStrength1_Weak1 = 779, + slString_type = 780, + slStringConst = 781, + slStringLiteral = 782, + slStruct_keyword = 783, + slStruct_union = 784, + slStruct_union_member = 785, + slStructure_pattern_key = 786, + slSubroutine_call = 787, + slSubroutine_call_statement = 788, + slSuper_dot_new = 789, + slSuper_keyword = 790, + slSuppress_faults_directive = 791, + slSurelog_macro_not_defined = 792, + slSystem_task = 793, + slSystem_task_names = 794, + slSystem_timing_check = 795, + slT0x_path_delay_expression = 796, + slT0z_path_delay_expression = 797, + slT01_path_delay_expression = 798, + slT1x_path_delay_expression = 799, + slT1z_path_delay_expression = 800, + slT10_path_delay_expression = 801, + slT_path_delay_expression = 802, + slTagged_keyword = 803, + slTagged_union_expression = 804, + slTask_body_declaration = 805, + slTask_declaration = 806, + slTask_name_decl = 807, + slTask_prototype = 808, + slTf_item_declaration = 809, + slTf_port_declaration = 810, + slTf_port_item = 811, + slTf_port_list = 812, + slTfall_path_delay_expression = 813, + slTfPortDir_ConstRef = 814, + slTfPortDir_Inout = 815, + slTfPortDir_Inp = 816, + slTfPortDir_Out = 817, + slTfPortDir_Ref = 818, + slThis = 819, + slThis_dot_super = 820, + slThis_keyword = 821, + slThreshold = 822, + slTime_literal = 823, + slTime_unit = 824, + slTimescale_directive = 825, + slTimeUnitsDecl_TimePrecision = 826, + slTimeUnitsDecl_TimePrecisionTimeUnit = 827, + slTimeUnitsDecl_TimeUnit = 828, + slTimeUnitsDecl_TimeUnitDiv = 829, + slTimeUnitsDecl_TimeUnitTimePrecision = 830, + slTiming_check_condition = 831, + slTiming_check_event = 832, + slTiming_check_limit = 833, + slTimingCheckEventControl_Edge = 834, + slTimingCheckEventControl_Negedge = 835, + slTimingCheckEventControl_Posedge = 836, + slTop_directives = 837, + slTop_level_library_rule = 838, + slTop_level_rule = 839, + slTrans_list = 840, + slTrans_range_list = 841, + slTrans_set = 842, + slTrise_path_delay_expression = 843, + slTx0_path_delay_expression = 844, + slTx1_path_delay_expression = 845, + slTxz_path_delay_expression = 846, + slType_declaration = 847, + slType_reference = 848, + slTz0_path_delay_expression = 849, + slTz1_path_delay_expression = 850, + slTz_path_delay_expression = 851, + slTzx_path_delay_expression = 852, + slUdp_ansi_declaration = 853, + slUdp_body = 854, + slUdp_declaration = 855, + slUdp_declaration_port_list = 856, + slUdp_initial_statement = 857, + slUdp_input_declaration = 858, + slUdp_instance = 859, + slUdp_instantiation = 860, + slUdp_nonansi_declaration = 861, + slUdp_output_declaration = 862, + slUdp_port_declaration = 863, + slUdp_port_list = 864, + slUdp_reg_declaration = 865, + slUnary_BitwAnd = 866, + slUnary_BitwOr = 867, + slUnary_BitwXor = 868, + slUnary_Minus = 869, + slUnary_Not = 870, + slUnary_Plus = 871, + slUnary_ReductNand = 872, + slUnary_ReductNor = 873, + slUnary_ReductXnor1 = 874, + slUnary_ReductXnor2 = 875, + slUnary_Tilda = 876, + slUnaryModOp_BitwAnd = 877, + slUnaryModOp_BitwOr = 878, + slUnaryModOp_BitwXor = 879, + slUnaryModOp_Not = 880, + slUnaryModOp_ReductNand = 881, + slUnaryModOp_ReductNor = 882, + slUnaryModOp_ReductXNor1 = 883, + slUnaryModOp_ReductXnor2 = 884, + slUnaryModOp_Tilda = 885, + slUnconnected_drive_directive = 886, + slUnion_keyword = 887, + slUnique_call = 888, + slUnique_priority = 889, + slUniqueness_constraint = 890, + slUnpacked_dimension = 891, + slUnsigned_directive = 892, + slUnsized_dimension = 893, + slUse_clause = 894, + slUse_clause_config = 895, + slUselib_directive = 896, + slValue_range = 897, + slVar_data_type = 898, + slVariable_assignment = 899, + slVariable_decl_assignment = 900, + slVariable_declaration = 901, + slVariable_dimension = 902, + slVariable_lvalue = 903, + slVariable_port_header = 904, + slVariable_port_type = 905, + slVirtual_interface_declaration = 906, + slWait_statement = 907, + slWhile_keyword = 908, + slX = 909, + slXor_call = 910, + slZ = 911, +} VObjectType; + +#endif /* VOBJECTTYPES_H */ +
diff --git a/src/Testcases/AmiqEth/AmiqEth.log b/src/Testcases/AmiqEth/AmiqEth.log index c76cf0b..96c0995 100644 --- a/src/Testcases/AmiqEth/AmiqEth.log +++ b/src/Testcases/AmiqEth/AmiqEth.log
@@ -8,12 +8,12 @@ [INFO :CM0020] Separate compilation-unit mode is on. +[INFO :PP0122] Preprocessing source file "/home/alain/Surelog/src/dist/surelog/bin/../sv/builtin.sv". + [INFO :PP0122] Preprocessing source file "../../../UVM/ovm-2.1.2/src/ovm_pkg.sv". [INFO :PP0122] Preprocessing source file "uvmc-2.2/src/connect/sv/ovmc_pkg.sv". -[INFO :PP0122] Preprocessing source file "/home/alain/Surelog/src/dist/surelog/bin/../sv/builtin.sv". - [INFO :PP0122] Preprocessing source file "../../../UVM/uvm-1.2/src/uvm_pkg.sv". [INFO :PP0122] Preprocessing source file "ve/sv/amiq_eth_ve_top.v". @@ -208,10 +208,10 @@ [INFO :PA0201] Parsing source file "/home/alain/Surelog/src/dist/surelog/bin/../sv/builtin.sv". -[INFO :PA0201] Parsing source file "../../../UVM/uvm-1.2/src/uvm_pkg.sv". - [INFO :PA0201] Parsing source file "uvmc-2.2/src/connect/sv/ovmc_pkg.sv". +[INFO :PA0201] Parsing source file "../../../UVM/uvm-1.2/src/uvm_pkg.sv". + [INFO :PA0201] Parsing source file "../../../UVM/ovm-2.1.2/src/ovm_pkg.sv". [INFO :PA0201] Parsing source file "uvmc-2.2/src/connect/sv/ovmc_pkg.sv". @@ -244,10 +244,10 @@ [WARNI:PA0205] ve/sv/amiq_eth_ve_top.v:31 No timescale set for "amiq_eth_ve_top". -[WARNI:PA0205] ovm-2.1.2/src/ovm_pkg.sv:22 No timescale set for "ovm_pkg". - [WARNI:PA0205] uvm-1.2/src/uvm_pkg.sv:27 No timescale set for "uvm_pkg". +[WARNI:PA0205] ovm-2.1.2/src/ovm_pkg.sv:22 No timescale set for "ovm_pkg". + [INFO :CP0300] Compilation... [INFO :CP0301] uvm-1.2/src/uvm_pkg.sv:27 Compile package "uvm_pkg". @@ -266,11 +266,11 @@ [INFO :CP0302] ./sv/amiq_eth_packet_ether_type.sv:28 Compile class "amiq_eth_pkg::amiq_eth_packet_ether_type". -[INFO :CP0302] ./sv/amiq_eth_packet.sv:27 Compile class "amiq_eth_pkg::amiq_eth_packet". +[INFO :CP0302] ./sv/amiq_eth_packet_ethernet_configuration_testing.sv:24 Compile class "amiq_eth_pkg::amiq_eth_packet_ethernet_configuration_testing". [INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:245 Compile class "amiq_eth_pkg::amiq_eth_packet_arp". -[INFO :CP0302] ./sv/amiq_eth_packet_ethernet_configuration_testing.sv:24 Compile class "amiq_eth_pkg::amiq_eth_packet_ethernet_configuration_testing". +[INFO :CP0302] ./sv/amiq_eth_packet.sv:27 Compile class "amiq_eth_pkg::amiq_eth_packet". [INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:245 Compile class "amiq_eth_pkg::amiq_eth_packet_fcoe". @@ -312,16 +312,16 @@ [INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_ptp_packets". -[INFO :CP0302] ./sv/amiq_eth_packet_snap.sv:28 Compile class "amiq_eth_pkg::amiq_eth_packet_snap". +[INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::connect_phase". [INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:245 Compile class "amiq_eth_pkg::amiq_eth_packet_ptp_sync_message". -[INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::connect_phase". - [INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::import_connections_phase". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:148 Compile class "ovm_pkg::ovm_analysis_port". +[INFO :CP0302] ./sv/amiq_eth_packet_snap.sv:28 Compile class "amiq_eth_pkg::amiq_eth_packet_snap". + [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:129 Compile class "ovm_pkg::ovm_blocking_get_peek_export". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:94 Compile class "ovm_pkg::ovm_blocking_get_port". @@ -356,88 +356,90 @@ [INFO :CP0302] ovm-2.1.2/src/base/ovm_pool.svh:241 Compile class "ovm_pkg::ovm_object_string_pool". +[INFO :CP0302] ovm-2.1.2/src/base/ovm_object.svh:908 Compile class "ovm_pkg::ovm_options_container". + [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:152 Compile class "ovm_pkg::avm_analysis_export". -[INFO :CP0302] ovm-2.1.2/src/base/ovm_object.svh:908 Compile class "ovm_pkg::ovm_options_container". +[INFO :CP0302] ovm-2.1.2/src/base/ovm_packer.svh:45 Compile class "ovm_pkg::ovm_packer". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:152 Compile class "ovm_pkg::avm_analysis_port". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_blocking_get_peek_export". -[INFO :CP0302] ovm-2.1.2/src/base/ovm_packer.svh:45 Compile class "ovm_pkg::ovm_packer". +[INFO :CP0302] ovm-2.1.2/src/base/ovm_pool.svh:31 Compile class "ovm_pkg::ovm_pool". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_blocking_get_port". -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:82 Compile class "ovm_pkg::avm_blocking_master_port". +[INFO :CP0302] ovm-2.1.2/src/base/ovm_port_base.svh:76 Compile class "ovm_pkg::ovm_port_component". -[INFO :CP0302] ovm-2.1.2/src/base/ovm_pool.svh:31 Compile class "ovm_pkg::ovm_pool". +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:82 Compile class "ovm_pkg::avm_blocking_master_port". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_blocking_peek_port". -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_blocking_put_port". - -[INFO :CP0302] ovm-2.1.2/src/base/ovm_port_base.svh:76 Compile class "ovm_pkg::ovm_port_component". - -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:82 Compile class "ovm_pkg::avm_blocking_slave_port". - -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:175 Compile class "ovm_pkg::avm_class_comp". - [INFO :CP0302] ovm-2.1.2/src/base/ovm_port_base.svh:44 Compile class "ovm_pkg::ovm_port_component_base". -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:193 Compile class "ovm_pkg::avm_class_pair". +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_blocking_put_port". [INFO :CP0302] ovm-2.1.2/src/base/ovm_printer.svh:493 Compile class "ovm_pkg::ovm_printer_knobs". -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_get_peek_export". - -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_get_port". +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:82 Compile class "ovm_pkg::avm_blocking_slave_port". [INFO :CP0302] ovm-2.1.2/src/methodology/ovm_push_driver.svh:38 Compile class "ovm_pkg::ovm_push_driver". -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:87 Compile class "ovm_pkg::avm_master_export". - -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_nonblocking_get_export". +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:175 Compile class "ovm_pkg::avm_class_comp". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:87 Compile class "ovm_pkg::ovm_put_export". -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_nonblocking_get_peek_export". +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:193 Compile class "ovm_pkg::avm_class_pair". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_imps.svh:98 Compile class "ovm_pkg::ovm_put_imp". -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:87 Compile class "ovm_pkg::avm_nonblocking_master_export". +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_get_peek_export". [INFO :CP0302] ovm-2.1.2/src/base/ovm_queue.svh:32 Compile class "ovm_pkg::ovm_queue". -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_nonblocking_peek_export". - -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_nonblocking_peek_port". +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_get_port". [INFO :CP0302] ovm-2.1.2/src/base/ovm_recorder.svh:34 Compile class "ovm_pkg::ovm_recorder". +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:87 Compile class "ovm_pkg::avm_master_export". + +[INFO :CP0302] ovm-2.1.2/src/base/ovm_report_server.svh:37 Compile class "ovm_pkg::ovm_report_server". + +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_nonblocking_get_export". + +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_nonblocking_get_peek_export". + +[INFO :CP0302] ovm-2.1.2/src/tlm/sqr_connections.svh:103 Compile class "ovm_pkg::ovm_seq_item_pull_imp". + +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:87 Compile class "ovm_pkg::avm_nonblocking_master_export". + +[INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequence.svh:31 Compile class "ovm_pkg::ovm_sequence". + +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_nonblocking_peek_export". + +[INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequencer_base.svh:50 Compile class "ovm_pkg::ovm_sequencer_base". + +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_nonblocking_peek_port". + [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_nonblocking_put_port". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:82 Compile class "ovm_pkg::avm_nonblocking_slave_port". -[INFO :CP0302] ovm-2.1.2/src/base/ovm_report_server.svh:37 Compile class "ovm_pkg::ovm_report_server". - [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:75 Compile class "ovm_pkg::avm_peek_imp". -[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_put_export". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_common.sv:59 Compile class "ovmc_pkg::uvmc_converter". -[INFO :CP0302] ovm-2.1.2/src/tlm/sqr_connections.svh:103 Compile class "ovm_pkg::ovm_seq_item_pull_imp". +[INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_put_export". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:152 Compile class "ovm_pkg::avm_random_stimulus". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:82 Compile class "ovm_pkg::avm_slave_port". -[INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequence.svh:31 Compile class "ovm_pkg::ovm_sequence". - [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:140 Compile class "ovm_pkg::avm_transport_export". [INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::check_phase". -[INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequencer_base.svh:50 Compile class "ovm_pkg::ovm_sequencer_base". - [INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::end_of_elaboration_phase". [INFO :CP0302] ovm-2.1.2/src/methodology/ovm_agent.svh:39 Compile class "ovm_pkg::ovm_agent". @@ -446,8 +448,6 @@ [INFO :CP0302] ovm-2.1.2/src/base/ovm_barrier.svh:33 Compile class "ovm_pkg::ovm_barrier". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_common.sv:59 Compile class "ovmc_pkg::uvmc_converter". - [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:75 Compile class "ovm_pkg::ovm_blocking_put_port". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:265 Compile class "ovm_pkg::ovm_blocking_transport_export". @@ -472,12 +472,12 @@ [INFO :CP0302] ovm-2.1.2/src/base/ovm_event_callback.svh:39 Compile class "ovm_pkg::ovm_event_callback". -[INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequence_builtin.svh:156 Compile class "ovm_pkg::ovm_exhaustive_sequence". - -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_producer". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm1.sv:608 Compile class "ovmc_pkg::uvmc_tlm1_port_proxy". [INFO :CP0302] ./sv/amiq_eth_pcap_util.sv:27 Compile class "amiq_eth_pkg::amiq_eth_pcap_hdr_base". +[INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequence_builtin.svh:156 Compile class "ovm_pkg::ovm_exhaustive_sequence". + [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_imps.svh:116 Compile class "ovm_pkg::ovm_get_imp". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_imps.svh:152 Compile class "ovm_pkg::ovm_get_peek_imp". @@ -486,6 +486,8 @@ [INFO :CP0302] ovm-2.1.2/src/methodology/ovm_in_order_comparator.svh:205 Compile class "ovm_pkg::ovm_in_order_built_in_comparator". +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_producer". + [INFO :CP0302] ovm-2.1.2/src/base/ovm_config.svh:68 Compile class "ovm_pkg::ovm_int_config_setting". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:239 Compile class "ovm_pkg::ovm_master_port". @@ -502,70 +504,40 @@ [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:253 Compile class "ovm_pkg::ovm_nonblocking_slave_port". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm1.sv:608 Compile class "ovmc_pkg::uvmc_tlm1_port_proxy". - [INFO :CP0302] ovm-2.1.2/src/base/ovm_object.svh:53 Compile class "ovm_pkg::ovm_object". [INFO :CP0302] ovm-2.1.2/src/base/ovm_phases.sv:35 Compile class "ovm_pkg::ovm_phase". [INFO :CP0302] ovm-2.1.2/src/base/ovm_printer.svh:80 Compile class "ovm_pkg::ovm_printer". -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_arp_packets". +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_analysis_port.svh:111 Compile class "uvm_pkg::uvm_analysis_imp". [INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_push_sequencer.svh:29 Compile class "ovm_pkg::ovm_push_sequencer". +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_arp_packets". + +[INFO :CP0302] uvm-1.2/src/base/uvm_barrier.svh:34 Compile class "uvm_pkg::uvm_barrier". + [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:88 Compile class "ovm_pkg::ovm_put_port". [INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequence_builtin.svh:44 Compile class "ovm_pkg::ovm_random_sequence". -[INFO :CP0302] ovm-2.1.2/src/base/ovm_report_handler.svh:50 Compile class "ovm_pkg::ovm_report_handler". - -[INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequence_base.svh:31 Compile class "ovm_pkg::ovm_sequence_base". - -[INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:260 Compile class "ovm_pkg::ovm_slave_port". - -[INFO :CP0302] ovm-2.1.2/src/base/ovm_config.svh:83 Compile class "ovm_pkg::ovm_string_config_setting". - -[INFO :CP0302] ovm-2.1.2/src/base/ovm_printer.svh:731 Compile class "ovm_pkg::ovm_table_printer_knobs". - -[INFO :CP0302] ovm-2.1.2/src/base/ovm_objection.svh:634 Compile class "ovm_pkg::ovm_test_done_objection". - -[INFO :CP0302] ovm-2.1.2/src/compatibility/urm_message.svh:309 Compile class "ovm_pkg::ovm_urm_override_operator". - -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_analysis_port.svh:111 Compile class "uvm_pkg::uvm_analysis_imp". - -[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_fifos.svh:191 Compile class "ovm_pkg::tlm_analysis_fifo". - -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_basic". - -[INFO :CP0302] uvm-1.2/src/base/uvm_barrier.svh:34 Compile class "uvm_pkg::uvm_barrier". - -[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_fifo_base.svh:23 Compile class "ovm_pkg::tlm_event". - -[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_fifos.svh:37 Compile class "ovm_pkg::tlm_fifo". - [INFO :CP0302] uvm-1.2/src/tlm1/uvm_ports.svh:204 Compile class "uvm_pkg::uvm_blocking_master_port". -[INFO :CP0302] ovm-2.1.2/src/compatibility/urm_meth_compatibility.svh:58 Compile class "ovm_pkg::tlm_nb_put_export". - [INFO :CP0302] uvm-1.2/src/tlm1/uvm_imps.svh:119 Compile class "uvm_pkg::uvm_blocking_peek_imp". -[INFO :CP0302] ovm-2.1.2/src/compatibility/urm_meth_compatibility.svh:58 Compile class "ovm_pkg::tlm_put_export". +[INFO :CP0302] ovm-2.1.2/src/base/ovm_report_handler.svh:50 Compile class "ovm_pkg::ovm_report_handler". [INFO :CP0302] uvm-1.2/src/tlm1/uvm_imps.svh:82 Compile class "uvm_pkg::uvm_blocking_put_imp". -[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_req_rsp.svh:296 Compile class "ovm_pkg::tlm_transport_channel". - [INFO :CP0302] uvm-1.2/src/tlm1/uvm_imps.svh:266 Compile class "uvm_pkg::uvm_blocking_slave_imp". -[INFO :CP0302] ovm-2.1.2/src/compatibility/urm_message.svh:614 Compile class "ovm_pkg::urm_command_line_processor_c". - [INFO :CP0302] uvm-1.2/src/base/uvm_bottomup_phase.svh:36 Compile class "uvm_pkg::uvm_bottomup_phase". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_common.sv:181 Compile class "ovmc_pkg::uvmc_default_converter". - [INFO :CP0302] uvm-1.2/src/base/uvm_callback.svh:1037 Compile class "uvm_pkg::uvm_callback_iter". +[INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequence_base.svh:31 Compile class "ovm_pkg::ovm_sequence_base". + [INFO :CP0302] uvm-1.2/src/base/uvm_common_phases.svh:351 Compile class "uvm_pkg::uvm_check_phase". [INFO :CP0302] uvm-1.2/src/comps/uvm_policies.svh:134 Compile class "uvm_pkg::uvm_class_clone". @@ -574,28 +546,52 @@ [INFO :CP0302] uvm-1.2/src/comps/uvm_policies.svh:113 Compile class "uvm_pkg::uvm_class_converter". +[INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:260 Compile class "ovm_pkg::ovm_slave_port". + [INFO :CP0302] uvm-1.2/src/comps/uvm_pair.svh:37 Compile class "uvm_pkg::uvm_class_pair". +[INFO :CP0302] ovm-2.1.2/src/base/ovm_config.svh:83 Compile class "ovm_pkg::ovm_string_config_setting". + [INFO :CP0302] uvm-1.2/src/base/uvm_component.svh:60 Compile class "uvm_pkg::uvm_component". -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_fcoe_packets". +[INFO :CP0302] ovm-2.1.2/src/base/ovm_printer.svh:731 Compile class "ovm_pkg::ovm_table_printer_knobs". + +[INFO :CP0302] ovm-2.1.2/src/base/ovm_objection.svh:634 Compile class "ovm_pkg::ovm_test_done_objection". + +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_basic". + +[INFO :CP0302] ovm-2.1.2/src/compatibility/urm_message.svh:309 Compile class "ovm_pkg::ovm_urm_override_operator". + +[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_fifos.svh:191 Compile class "ovm_pkg::tlm_analysis_fifo". [INFO :CP0302] uvm-1.2/src/base/uvm_report_server.svh:244 Compile class "uvm_pkg::uvm_default_report_server". +[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_fifo_base.svh:23 Compile class "ovm_pkg::tlm_event". + +[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_fifos.svh:37 Compile class "ovm_pkg::tlm_fifo". + [INFO :CP0302] uvm-1.2/src/comps/uvm_in_order_comparator.svh:212 Compile class "uvm_pkg::uvm_in_order_built_in_comparator". +[INFO :CP0302] ovm-2.1.2/src/compatibility/urm_meth_compatibility.svh:58 Compile class "ovm_pkg::tlm_nb_put_export". + [INFO :CP0302] uvm-1.2/src/comps/uvm_in_order_comparator.svh:72 Compile class "uvm_pkg::uvm_in_order_comparator". +[INFO :CP0302] ovm-2.1.2/src/compatibility/urm_meth_compatibility.svh:58 Compile class "ovm_pkg::tlm_put_export". + +[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_req_rsp.svh:296 Compile class "ovm_pkg::tlm_transport_channel". + [INFO :CP0302] uvm-1.2/src/tlm1/uvm_ports.svh:218 Compile class "uvm_pkg::uvm_master_port". +[INFO :CP0302] ovm-2.1.2/src/compatibility/urm_message.svh:614 Compile class "ovm_pkg::urm_command_line_processor_c". + [INFO :CP0302] uvm-1.2/src/reg/uvm_mem_mam.svh:562 Compile class "uvm_pkg::uvm_mem_mam_cfg". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_common.sv:181 Compile class "ovmc_pkg::uvmc_default_converter". + [INFO :CP0302] uvm-1.2/src/reg/uvm_mem_mam.svh:520 Compile class "uvm_pkg::uvm_mem_mam_policy". [INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_reg_mem_shared_access_seq.svh:205 Compile class "uvm_pkg::uvm_mem_shared_access_seq". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm1.sv:171 Compile class "ovmc_pkg::uvmc_tlm1_dispatch". - [INFO :CP0302] uvm-1.2/src/comps/uvm_monitor.svh:34 Compile class "uvm_pkg::uvm_monitor". [INFO :CP0302] uvm-1.2/src/tlm1/uvm_exports.svh:105 Compile class "uvm_pkg::uvm_nonblocking_get_export". @@ -606,12 +602,10 @@ [INFO :CP0302] uvm-1.2/src/tlm1/uvm_exports.svh:208 Compile class "uvm_pkg::uvm_nonblocking_master_export". -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_jumbo_packets". - -[INFO :CP0302] ./sv/amiq_eth_pcap_util.sv:34 Compile class "amiq_eth_pkg::amiq_eth_pcap_hdr_s". - [INFO :CP0302] uvm-1.2/src/tlm1/uvm_imps.svh:125 Compile class "uvm_pkg::uvm_nonblocking_peek_imp". +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_fcoe_packets". + [INFO :CP0302] uvm-1.2/src/tlm1/uvm_ports.svh:88 Compile class "uvm_pkg::uvm_nonblocking_put_port". [INFO :CP0302] uvm-1.2/src/tlm1/uvm_exports.svh:249 Compile class "uvm_pkg::uvm_nonblocking_transport_export". @@ -632,86 +626,126 @@ [INFO :CP0302] uvm-1.2/src/base/uvm_port_base.svh:196 Compile class "uvm_pkg::uvm_port_base". +[INFO :CP0302] ./sv/amiq_eth_pcap_util.sv:34 Compile class "amiq_eth_pkg::amiq_eth_pcap_hdr_s". + [INFO :CP0302] uvm-1.2/src/reg/uvm_reg.svh:37 Compile class "uvm_pkg::uvm_reg". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm1.sv:171 Compile class "ovmc_pkg::uvmc_tlm1_dispatch". + +[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_cbs.svh:44 Compile class "uvm_pkg::uvm_reg_cbs". + +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_jumbo_packets". + +[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_fifo.svh:35 Compile class "uvm_pkg::uvm_reg_fifo". + +[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_indirect.svh:39 Compile class "uvm_pkg::uvm_reg_indirect_data". + +[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_predictor.svh:54 Compile class "uvm_pkg::uvm_reg_predictor". + +[INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_reg_mem_shared_access_seq.svh:57 Compile class "uvm_pkg::uvm_reg_shared_access_seq". + +[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_adapter.svh:170 Compile class "uvm_pkg::uvm_reg_tlm_adapter". + +[INFO :CP0302] uvm-1.2/src/base/uvm_report_catcher.svh:107 Compile class "uvm_pkg::uvm_report_catcher". + +[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:122 Compile class "uvm_pkg::uvm_reset_phase". + +[INFO :CP0302] uvm-1.2/src/base/uvm_resource.svh:1369 Compile class "uvm_pkg::uvm_resource". + +[INFO :CP0302] uvm-1.2/src/base/uvm_resource.svh:658 Compile class "uvm_pkg::uvm_resource_pool". + +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_pause_packets". + [INFO :CP0302] uvm-1.2/src/tlm1/uvm_imps.svh:299 Compile class "uvm_pkg::uvm_blocking_transport_imp". -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_pause_packets". +[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_param_base.svh:31 Compile class "uvm_pkg::uvm_sequencer_param_base". [INFO :CP0302] uvm-1.2/src/base/uvm_common_phases.svh:63 Compile class "uvm_pkg::uvm_build_phase". [INFO :CP0302] uvm-1.2/src/comps/uvm_policies.svh:59 Compile class "uvm_pkg::uvm_built_in_converter". -[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_cbs.svh:44 Compile class "uvm_pkg::uvm_reg_cbs". +[INFO :CP0302] uvm-1.2/src/dap/uvm_set_get_dap_base.svh:32 Compile class "uvm_pkg::uvm_set_get_dap_base". [INFO :CP0302] uvm-1.2/src/base/uvm_resource_specializations.svh:154 Compile class "uvm_pkg::uvm_byte_rsrc". -[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_fifo.svh:35 Compile class "uvm_pkg::uvm_reg_fifo". +[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:492 Compile class "uvm_pkg::uvm_shutdown_phase". [INFO :CP0302] uvm-1.2/src/base/uvm_callback.svh:470 Compile class "uvm_pkg::uvm_callbacks". -[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_indirect.svh:39 Compile class "uvm_pkg::uvm_reg_indirect_data". +[INFO :CP0302] uvm-1.2/src/dap/uvm_simple_lock_dap.svh:35 Compile class "uvm_pkg::uvm_simple_lock_dap". [INFO :CP0302] uvm-1.2/src/base/uvm_component.svh:2975 Compile class "uvm_pkg::uvm_config_object_wrapper". [INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:248 Compile class "uvm_pkg::uvm_configure_phase". -[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_predictor.svh:54 Compile class "uvm_pkg::uvm_reg_predictor". +[INFO :CP0302] uvm-1.2/src/base/uvm_spell_chkr.svh:28 Compile class "uvm_pkg::uvm_spell_chkr". [INFO :CP0302] uvm-1.2/src/base/uvm_common_phases.svh:109 Compile class "uvm_pkg::uvm_connect_phase". -[INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_reg_mem_shared_access_seq.svh:57 Compile class "uvm_pkg::uvm_reg_shared_access_seq". +[INFO :CP0302] uvm-1.2/src/base/uvm_recorder.svh:728 Compile class "uvm_pkg::uvm_text_recorder". [INFO :CP0302] uvm-1.2/src/base/uvm_coreservice.svh:123 Compile class "uvm_pkg::uvm_default_coreservice_t". -[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_adapter.svh:170 Compile class "uvm_pkg::uvm_reg_tlm_adapter". - [INFO :CP0302] uvm-1.2/src/base/uvm_callback.svh:966 Compile class "uvm_pkg::uvm_derived_callbacks". +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_tlm_fifos.svh:46 Compile class "uvm_pkg::uvm_tlm_fifo". + [INFO :CP0302] uvm-1.2/src/comps/uvm_driver.svh:44 Compile class "uvm_pkg::uvm_driver". -[INFO :CP0302] uvm-1.2/src/base/uvm_report_catcher.svh:107 Compile class "uvm_pkg::uvm_report_catcher". +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:155 Compile class "uvm_pkg::uvm_tlm_nb_initiator_socket". [INFO :CP0302] uvm-1.2/src/base/uvm_globals.svh:499 Compile class "uvm_pkg::uvm_enum_wrapper". +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:395 Compile class "uvm_pkg::uvm_tlm_nb_passthrough_target_socket". + [INFO :CP0302] uvm-1.2/src/base/uvm_event.svh:34 Compile class "uvm_pkg::uvm_event_base". -[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:122 Compile class "uvm_pkg::uvm_reset_phase". +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:223 Compile class "uvm_pkg::uvm_tlm_nb_target_socket". [INFO :CP0302] uvm-1.2/src/base/uvm_common_phases.svh:313 Compile class "uvm_pkg::uvm_extract_phase". -[INFO :CP0302] uvm-1.2/src/base/uvm_resource.svh:1369 Compile class "uvm_pkg::uvm_resource". +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_ports.svh:67 Compile class "uvm_pkg::uvm_tlm_nb_transport_bw_port". [INFO :CP0302] uvm-1.2/src/base/uvm_factory.svh:853 Compile class "uvm_pkg::uvm_factory_override". +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_ports.svh:51 Compile class "uvm_pkg::uvm_tlm_nb_transport_fw_port". + [INFO :CP0302] uvm-1.2/src/tlm1/uvm_exports.svh:111 Compile class "uvm_pkg::uvm_get_export". [INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_snap_packets". -[INFO :CP0302] uvm-1.2/src/base/uvm_resource.svh:658 Compile class "uvm_pkg::uvm_resource_pool". +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_tlm_req_rsp.svh:304 Compile class "uvm_pkg::uvm_tlm_transport_channel". [INFO :CP0302] uvm-1.2/src/tlm1/uvm_imps.svh:149 Compile class "uvm_pkg::uvm_get_peek_imp". +[INFO :CP0302] uvm-1.2/src/base/uvm_traversal.svh:115 Compile class "uvm_pkg::uvm_top_down_visitor_adapter". + [INFO :CP0302] uvm-1.2/src/dap/uvm_get_to_lock_dap.svh:35 Compile class "uvm_pkg::uvm_get_to_lock_dap". +[INFO :CP0302] uvm-1.2/src/base/uvm_topdown_phase.svh:35 Compile class "uvm_pkg::uvm_topdown_phase". + [INFO :CP0302] uvm-1.2/src/base/uvm_printer.svh:390 Compile class "uvm_pkg::uvm_line_printer". -[INFO :CP0302] uvm-1.2/src/base/uvm_links.svh:59 Compile class "uvm_pkg::uvm_link_base". +[INFO :CP0302] uvm-1.2/src/base/uvm_tr_stream.svh:54 Compile class "uvm_pkg::uvm_tr_stream". -[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_param_base.svh:31 Compile class "uvm_pkg::uvm_sequencer_param_base". +[INFO :CP0302] uvm-1.2/src/base/uvm_links.svh:59 Compile class "uvm_pkg::uvm_link_base". [INFO :CP0302] uvm-1.2/src/tlm1/uvm_exports.svh:215 Compile class "uvm_pkg::uvm_master_export". +[INFO :CP0302] uvm-1.2/src/base/uvm_traversal.svh:30 Compile class "uvm_pkg::uvm_visitor". + [INFO :CP0302] uvm-1.2/src/reg/uvm_mem.svh:40 Compile class "uvm_pkg::uvm_mem". -[INFO :CP0302] uvm-1.2/src/dap/uvm_set_get_dap_base.svh:32 Compile class "uvm_pkg::uvm_set_get_dap_base". +[INFO :CP0302] uvm-1.2/src/base/uvm_traversal.svh:92 Compile class "uvm_pkg::uvm_visitor_adapter". -[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:492 Compile class "uvm_pkg::uvm_shutdown_phase". +[INFO :CP0302] uvm-1.2/src/reg/uvm_vreg.svh:618 Compile class "uvm_pkg::uvm_vreg_cbs". -[INFO :CP0302] uvm-1.2/src/dap/uvm_simple_lock_dap.svh:35 Compile class "uvm_pkg::uvm_simple_lock_dap". +[INFO :CP0302] uvm-1.2/src/reg/uvm_vreg_field.svh:49 Compile class "uvm_pkg::uvm_vreg_field". [INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_mem_walk_seq.svh:197 Compile class "uvm_pkg::uvm_mem_walk_seq". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_common.sv:250 Compile class "uvmc_pkg::uvmc_base". + [INFO :CP0302] uvm-1.2/src/tlm1/uvm_exports.svh:141 Compile class "uvm_pkg::uvm_nonblocking_get_peek_export". [INFO :CP0302] uvm-1.2/src/tlm1/uvm_ports.svh:106 Compile class "uvm_pkg::uvm_nonblocking_get_port". @@ -726,199 +760,195 @@ [INFO :CP0302] uvm-1.2/src/base/uvm_registry.svh:187 Compile class "uvm_pkg::uvm_object_registry". -[INFO :CP0302] uvm-1.2/src/base/uvm_links.svh:141 Compile class "uvm_pkg::uvm_parent_child_link". - -[INFO :CP0302] uvm-1.2/src/base/uvm_phase.svh:134 Compile class "uvm_pkg::uvm_phase". - [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:234 Compile class "ovm_pkg::avm_algorithmic_comparator". +[INFO :CP0302] uvm-1.2/src/base/uvm_links.svh:141 Compile class "uvm_pkg::uvm_parent_child_link". + [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_blocking_get_export". +[INFO :CP0302] uvm-1.2/src/base/uvm_phase.svh:134 Compile class "uvm_pkg::uvm_phase". + [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:75 Compile class "ovm_pkg::avm_blocking_get_peek_imp". -[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:411 Compile class "uvm_pkg::uvm_post_main_phase". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:120 Compile class "uvmc_pkg::uvmc_tlm2_dispatch". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:87 Compile class "ovm_pkg::avm_blocking_master_export". -[INFO :CP0302] ./sv/amiq_eth_pcap_util.sv:196 Compile class "amiq_eth_pkg::amiq_eth_pcap_livestream". - -[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:535 Compile class "uvm_pkg::uvm_post_shutdown_phase". - [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_blocking_peek_export". -[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:329 Compile class "uvm_pkg::uvm_pre_main_phase". +[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:411 Compile class "uvm_pkg::uvm_post_main_phase". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:70 Compile class "ovm_pkg::avm_blocking_put_export". -[INFO :CP0302] uvm-1.2/src/base/uvm_spell_chkr.svh:28 Compile class "uvm_pkg::uvm_spell_chkr". - -[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:450 Compile class "uvm_pkg::uvm_pre_shutdown_phase". - -[INFO :CP0302] uvm-1.2/src/base/uvm_recorder.svh:728 Compile class "uvm_pkg::uvm_text_recorder". +[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:535 Compile class "uvm_pkg::uvm_post_shutdown_phase". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:87 Compile class "ovm_pkg::avm_blocking_slave_export". -[INFO :CP0302] uvm-1.2/src/base/uvm_printer.svh:416 Compile class "uvm_pkg::uvm_printer_knobs". +[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:329 Compile class "uvm_pkg::uvm_pre_main_phase". + +[INFO :CP0302] ./sv/amiq_eth_pcap_util.sv:196 Compile class "amiq_eth_pkg::amiq_eth_pcap_livestream". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:175 Compile class "ovm_pkg::avm_built_in_clone". -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_tlm_fifos.svh:46 Compile class "uvm_pkg::uvm_tlm_fifo". - -[INFO :CP0302] uvm-1.2/src/seq/uvm_push_sequencer.svh:29 Compile class "uvm_pkg::uvm_push_sequencer". - -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:155 Compile class "uvm_pkg::uvm_tlm_nb_initiator_socket". +[INFO :CP0302] uvm-1.2/src/base/uvm_runtime_phases.svh:450 Compile class "uvm_pkg::uvm_pre_shutdown_phase". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:175 Compile class "ovm_pkg::avm_built_in_comp". -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:395 Compile class "uvm_pkg::uvm_tlm_nb_passthrough_target_socket". - -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_exports.svh:93 Compile class "uvm_pkg::uvm_put_export". - -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:223 Compile class "uvm_pkg::uvm_tlm_nb_target_socket". +[INFO :CP0302] uvm-1.2/src/base/uvm_printer.svh:416 Compile class "uvm_pkg::uvm_printer_knobs". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:175 Compile class "ovm_pkg::avm_built_in_converter". -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_ports.svh:94 Compile class "uvm_pkg::uvm_put_port". - -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_ports.svh:67 Compile class "uvm_pkg::uvm_tlm_nb_transport_bw_port". - [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:185 Compile class "ovm_pkg::avm_built_in_pair". -[INFO :CP0302] uvm-1.2/src/seq/uvm_sequence_builtin.svh:48 Compile class "uvm_pkg::uvm_random_sequence". - -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_ports.svh:51 Compile class "uvm_pkg::uvm_tlm_nb_transport_fw_port". +[INFO :CP0302] uvm-1.2/src/seq/uvm_push_sequencer.svh:29 Compile class "uvm_pkg::uvm_push_sequencer". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:75 Compile class "ovm_pkg::avm_get_imp". -[INFO :CP0302] uvm-1.2/src/base/uvm_recorder.svh:43 Compile class "uvm_pkg::uvm_recorder". - -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_tlm_req_rsp.svh:304 Compile class "uvm_pkg::uvm_tlm_transport_channel". +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_exports.svh:93 Compile class "uvm_pkg::uvm_put_export". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_get_peek_port". -[INFO :CP0302] uvm-1.2/src/base/uvm_traversal.svh:115 Compile class "uvm_pkg::uvm_top_down_visitor_adapter". +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_ports.svh:94 Compile class "uvm_pkg::uvm_put_port". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:213 Compile class "ovm_pkg::avm_in_order_class_comparator". -[INFO :CP0302] uvm-1.2/src/base/uvm_topdown_phase.svh:35 Compile class "uvm_pkg::uvm_topdown_phase". +[INFO :CP0302] uvm-1.2/src/seq/uvm_sequence_builtin.svh:48 Compile class "uvm_pkg::uvm_random_sequence". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:92 Compile class "ovm_pkg::avm_master_imp". -[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_block.svh:38 Compile class "uvm_pkg::uvm_reg_block". - -[INFO :CP0302] uvm-1.2/src/base/uvm_tr_stream.svh:54 Compile class "uvm_pkg::uvm_tr_stream". +[INFO :CP0302] uvm-1.2/src/base/uvm_recorder.svh:43 Compile class "uvm_pkg::uvm_recorder". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:75 Compile class "ovm_pkg::avm_nonblocking_get_peek_imp". +[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_block.svh:38 Compile class "uvm_pkg::uvm_reg_block". + [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_nonblocking_get_port". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:82 Compile class "ovm_pkg::avm_nonblocking_master_port". -[INFO :CP0302] uvm-1.2/src/base/uvm_traversal.svh:30 Compile class "uvm_pkg::uvm_visitor". - [INFO :CP0302] uvm-1.2/src/reg/uvm_reg_indirect.svh:283 Compile class "uvm_pkg::uvm_reg_indirect_ftdr_seq". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:75 Compile class "ovm_pkg::avm_nonblocking_peek_imp". -[INFO :CP0302] uvm-1.2/src/base/uvm_traversal.svh:92 Compile class "uvm_pkg::uvm_visitor_adapter". - [INFO :CP0302] uvm-1.2/src/reg/uvm_reg_map.svh:23 Compile class "uvm_pkg::uvm_reg_map_info". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:75 Compile class "ovm_pkg::avm_nonblocking_put_imp". -[INFO :CP0302] uvm-1.2/src/reg/uvm_vreg.svh:618 Compile class "uvm_pkg::uvm_vreg_cbs". - [INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_reg_access_seq.svh:318 Compile class "uvm_pkg::uvm_reg_mem_access_seq". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:92 Compile class "ovm_pkg::avm_nonblocking_slave_imp". -[INFO :CP0302] uvm-1.2/src/reg/uvm_vreg_field.svh:49 Compile class "uvm_pkg::uvm_vreg_field". +[INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_reg_mem_built_in_seq.svh:31 Compile class "uvm_pkg::uvm_reg_mem_built_in_seq". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:65 Compile class "ovm_pkg::avm_peek_port". -[INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_reg_mem_built_in_seq.svh:31 Compile class "uvm_pkg::uvm_reg_mem_built_in_seq". +[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_cbs.svh:369 Compile class "uvm_pkg::uvm_reg_read_only_cbs". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:75 Compile class "ovm_pkg::avm_put_imp". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_common.sv:250 Compile class "uvmc_pkg::uvmc_base". +[INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_reg_access_seq.svh:62 Compile class "uvm_pkg::uvm_reg_single_access_seq". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:87 Compile class "ovm_pkg::avm_slave_export". -[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_cbs.svh:369 Compile class "uvm_pkg::uvm_reg_read_only_cbs". +[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_map.svh:38 Compile class "uvm_pkg::uvm_reg_transaction_order_policy". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:159 Compile class "ovm_pkg::avm_subscriber". +[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_cbs.svh:455 Compile class "uvm_pkg::uvm_reg_write_only_cbs". + [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:294 Compile class "ovm_pkg::avm_transport_imp". -[INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_reg_access_seq.svh:62 Compile class "uvm_pkg::uvm_reg_single_access_seq". +[INFO :CP0302] uvm-1.2/src/base/uvm_report_handler.svh:53 Compile class "uvm_pkg::uvm_report_handler". [INFO :CP0302] ovm-2.1.2/src/base/ovm_misc.svh:24 Compile class "ovm_pkg::avm_virtual_class". [INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::build_phase". -[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_map.svh:38 Compile class "uvm_pkg::uvm_reg_transaction_order_policy". +[INFO :CP0302] uvm-1.2/src/comps/uvm_scoreboard.svh:36 Compile class "uvm_pkg::uvm_scoreboard". [INFO :CP0302] ovm-2.1.2/src/base/ovm_report_handler.svh:507 Compile class "ovm_pkg::default_report_server". -[INFO :CP0302] uvm-1.2/src/reg/uvm_reg_cbs.svh:455 Compile class "uvm_pkg::uvm_reg_write_only_cbs". +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_sqr_connections.svh:62 Compile class "uvm_pkg::uvm_seq_item_pull_export". [INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::extract_phase". +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_sqr_connections.svh:42 Compile class "uvm_pkg::uvm_seq_item_pull_port". + [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:147 Compile class "ovm_pkg::ovm_analysis_export". -[INFO :CP0302] uvm-1.2/src/base/uvm_report_handler.svh:53 Compile class "uvm_pkg::uvm_report_handler". +[INFO :CP0302] uvm-1.2/src/seq/uvm_sequence_library.svh:64 Compile class "uvm_pkg::uvm_sequence_library". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:93 Compile class "ovm_pkg::ovm_blocking_get_export". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_imps.svh:140 Compile class "ovm_pkg::ovm_blocking_get_peek_imp". +[INFO :CP0302] uvm-1.2/src/macros/uvm_object_defines.svh:245 Compile class "uvm_pkg::uvm_sequence_library_cfg". + [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:223 Compile class "ovm_pkg::ovm_blocking_master_export". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:120 Compile class "uvmc_pkg::uvmc_tlm2_dispatch". +[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_base.svh:27 Compile class "uvm_pkg::uvm_sequence_process_wrapper". + +[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_base.svh:1765 Compile class "uvm_pkg::uvm_sequence_request". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:111 Compile class "ovm_pkg::ovm_blocking_peek_export". -[INFO :CP0302] uvm-1.2/src/comps/uvm_scoreboard.svh:36 Compile class "uvm_pkg::uvm_scoreboard". +[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer.svh:30 Compile class "uvm_pkg::uvm_sequencer". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:74 Compile class "ovm_pkg::ovm_blocking_put_export". -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_sqr_connections.svh:62 Compile class "uvm_pkg::uvm_seq_item_pull_export". +[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_analysis_fifo.svh:23 Compile class "uvm_pkg::uvm_sequencer_analysis_fifo". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_imps.svh:278 Compile class "ovm_pkg::ovm_blocking_slave_imp". -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_sqr_connections.svh:42 Compile class "uvm_pkg::uvm_seq_item_pull_port". +[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_base.svh:41 Compile class "uvm_pkg::uvm_sequencer_base". [INFO :CP0302] ovm-2.1.2/src/methodology/ovm_pair.svh:103 Compile class "ovm_pkg::ovm_built_in_pair". [INFO :CP0302] ovm-2.1.2/src/base/ovm_component.svh:65 Compile class "ovm_pkg::ovm_component". -[INFO :CP0302] uvm-1.2/src/seq/uvm_sequence_library.svh:64 Compile class "uvm_pkg::uvm_sequence_library". +[INFO :CP0302] uvm-1.2/src/seq/uvm_sequence_builtin.svh:265 Compile class "uvm_pkg::uvm_simple_sequence". -[INFO :CP0302] uvm-1.2/src/macros/uvm_object_defines.svh:245 Compile class "uvm_pkg::uvm_sequence_library_cfg". +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_imps.svh:288 Compile class "uvm_pkg::uvm_slave_imp". + +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_sqr_ifs.svh:36 Compile class "uvm_pkg::uvm_sqr_if_base". + +[INFO :CP0302] uvm-1.2/src/base/uvm_resource_specializations.svh:93 Compile class "uvm_pkg::uvm_string_rsrc". + +[INFO :CP0302] uvm-1.2/src/base/uvm_traversal.svh:73 Compile class "uvm_pkg::uvm_structure_proxy". + +[INFO :CP0302] uvm-1.2/src/comps/uvm_subscriber.svh:36 Compile class "uvm_pkg::uvm_subscriber". [INFO :CP0302] ovm-2.1.2/src/base/ovm_factory.svh:727 Compile class "ovm_pkg::ovm_factory_override". -[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_base.svh:27 Compile class "uvm_pkg::uvm_sequence_process_wrapper". +[INFO :CP0302] uvm-1.2/src/base/uvm_task_phase.svh:58 Compile class "uvm_pkg::uvm_task_phase". [INFO :CP0302] ovm-2.1.2/src/base/ovm_factory.svh:29 Compile class "ovm_pkg::ovm_factory_queue_class". -[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_base.svh:1765 Compile class "uvm_pkg::uvm_sequence_request". +[INFO :CP0302] uvm-1.2/src/base/uvm_tr_stream.svh:510 Compile class "uvm_pkg::uvm_text_tr_stream". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:105 Compile class "ovm_pkg::ovm_get_export". -[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer.svh:30 Compile class "uvm_pkg::uvm_sequencer". +[INFO :CP0302] uvm-1.2/src/tlm1/uvm_tlm_fifos.svh:200 Compile class "uvm_pkg::uvm_tlm_analysis_fifo". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:141 Compile class "ovm_pkg::ovm_get_peek_export". +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:56 Compile class "uvm_pkg::uvm_tlm_b_initiator_socket". + +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets_base.svh:174 Compile class "uvm_pkg::uvm_tlm_b_passthrough_initiator_socket_base". + [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:106 Compile class "ovm_pkg::ovm_get_port". -[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_analysis_fifo.svh:23 Compile class "uvm_pkg::uvm_sequencer_analysis_fifo". +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets_base.svh:47 Compile class "uvm_pkg::uvm_tlm_b_target_socket_base". [INFO :CP0302] ovm-2.1.2/src/base/ovm_printer.svh:462 Compile class "ovm_pkg::ovm_line_printer". +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_exports.svh:33 Compile class "uvm_pkg::uvm_tlm_b_transport_export". + [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:237 Compile class "ovm_pkg::ovm_master_export". -[INFO :CP0302] uvm-1.2/src/seq/uvm_sequencer_base.svh:41 Compile class "uvm_pkg::uvm_sequencer_base". +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_ports.svh:34 Compile class "uvm_pkg::uvm_tlm_b_transport_port". + +[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_generic_payload.svh:103 Compile class "uvm_pkg::uvm_tlm_generic_payload". [INFO :CP0302] ovm-2.1.2/src/methodology/ovm_monitor.svh:34 Compile class "ovm_pkg::ovm_monitor". @@ -926,76 +956,54 @@ [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:100 Compile class "ovm_pkg::ovm_nonblocking_get_port". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_commands.sv:117 Compile class "uvmc_pkg::uvm_domain". + [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:232 Compile class "ovm_pkg::ovm_nonblocking_master_port". [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:81 Compile class "ovm_pkg::ovm_nonblocking_put_export". -[INFO :CP0302] uvm-1.2/src/seq/uvm_sequence_builtin.svh:265 Compile class "uvm_pkg::uvm_simple_sequence". - [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_imps.svh:289 Compile class "ovm_pkg::ovm_nonblocking_slave_imp". -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_imps.svh:288 Compile class "uvm_pkg::uvm_slave_imp". - [INFO :CP0302] ovm-2.1.2/src/base/ovm_config.svh:98 Compile class "ovm_pkg::ovm_object_config_setting". [INFO :CP0302] ovm-2.1.2/src/base/ovm_factory.svh:684 Compile class "ovm_pkg::ovm_object_wrapper". -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_sqr_ifs.svh:36 Compile class "uvm_pkg::uvm_sqr_if_base". - [INFO :CP0302] ovm-2.1.2/src/base/ovm_objection.svh:42 Compile class "ovm_pkg::ovm_objection". -[INFO :CP0302] uvm-1.2/src/base/uvm_resource_specializations.svh:93 Compile class "uvm_pkg::uvm_string_rsrc". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_common.sv:181 Compile class "uvmc_pkg::uvmc_default_converter". [INFO :CP0302] ovm-2.1.2/src/methodology/ovm_random_stimulus.svh:44 Compile class "ovm_pkg::ovm_random_stimulus". -[INFO :CP0302] uvm-1.2/src/base/uvm_traversal.svh:73 Compile class "uvm_pkg::uvm_structure_proxy". - [INFO :CP0302] ovm-2.1.2/src/base/ovm_report_server.svh:374 Compile class "ovm_pkg::ovm_report_global_server". -[INFO :CP0302] ./sv/amiq_eth_pcap_util.sv:133 Compile class "amiq_eth_pkg::amiq_eth_pcap_util". - [INFO :CP0302] ovm-2.1.2/src/base/ovm_report_object.svh:78 Compile class "ovm_pkg::ovm_report_object". -[INFO :CP0302] uvm-1.2/src/comps/uvm_subscriber.svh:36 Compile class "uvm_pkg::uvm_subscriber". - -[INFO :CP0302] uvm-1.2/src/base/uvm_task_phase.svh:58 Compile class "uvm_pkg::uvm_task_phase". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_commands.sv:152 Compile class "uvmc_pkg::uvmc_drop_objection_info". [INFO :CP0302] ovm-2.1.2/src/methodology/layered_stimulus/ovm_scenario_controller.svh:27 Compile class "ovm_pkg::ovm_scenario_controller". [INFO :CP0302] ovm-2.1.2/src/base/ovm_misc.svh:51 Compile class "ovm_pkg::ovm_scope_stack". -[INFO :CP0302] uvm-1.2/src/base/uvm_tr_stream.svh:510 Compile class "uvm_pkg::uvm_text_tr_stream". - [INFO :CP0302] ovm-2.1.2/src/base/ovm_misc.sv:34 Compile class "ovm_pkg::ovm_seed_map". [INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequencer.svh:383 Compile class "ovm_pkg::ovm_seq_cons_if". -[INFO :CP0302] uvm-1.2/src/tlm1/uvm_tlm_fifos.svh:200 Compile class "uvm_pkg::uvm_tlm_analysis_fifo". - [INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequencer.svh:342 Compile class "ovm_pkg::ovm_seq_prod_if". -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:56 Compile class "uvm_pkg::uvm_tlm_b_initiator_socket". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:704 Compile class "uvmc_pkg::uvmc_tlm". [INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequence_item.svh:37 Compile class "ovm_pkg::ovm_sequence_item". -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets_base.svh:174 Compile class "uvm_pkg::uvm_tlm_b_passthrough_initiator_socket_base". - [INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequence_builtin.svh:258 Compile class "ovm_pkg::ovm_simple_sequence". -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets_base.svh:47 Compile class "uvm_pkg::uvm_tlm_b_target_socket_base". - [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_exports.svh:258 Compile class "ovm_pkg::ovm_slave_export". -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_exports.svh:33 Compile class "uvm_pkg::uvm_tlm_b_transport_export". - [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_imps.svh:300 Compile class "ovm_pkg::ovm_slave_imp". -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_ports.svh:34 Compile class "uvm_pkg::uvm_tlm_b_transport_port". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:583 Compile class "uvmc_pkg::uvmc_tlm_b_initiator_comp". [INFO :CP0302] ovm-2.1.2/src/base/ovm_object.svh:851 Compile class "ovm_pkg::ovm_status_container". -[INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_generic_payload.svh:103 Compile class "uvm_pkg::uvm_tlm_generic_payload". - [INFO :CP0302] ovm-2.1.2/src/methodology/ovm_subscriber.svh:35 Compile class "ovm_pkg::ovm_subscriber". [INFO :CP0302] ovm-2.1.2/src/methodology/ovm_test.svh:61 Compile class "ovm_pkg::ovm_test". @@ -1004,22 +1012,26 @@ [INFO :CP0302] ovm-2.1.2/src/tlm/ovm_ports.svh:279 Compile class "ovm_pkg::ovm_transport_port". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:509 Compile class "uvmc_pkg::uvmc_tlm_b_target_comp". + [INFO :CP0302] ovm-2.1.2/src/base/ovm_printer.svh:772 Compile class "ovm_pkg::ovm_tree_printer_knobs". [INFO :CP0302] ovm-2.1.2/src/compatibility/urm_message.svh:186 Compile class "ovm_pkg::ovm_urm_message". [INFO :CP0302] ovm-2.1.2/src/compatibility/urm_message.svh:221 Compile class "ovm_pkg::ovm_urm_override_request". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_commands.sv:117 Compile class "uvmc_pkg::uvm_domain". - [INFO :CP0302] ovm-2.1.2/src/base/ovm_misc.svh:39 Compile class "ovm_pkg::ovm_void". [INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::post_new_phase". [INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::pre_run_phase". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:608 Compile class "uvmc_pkg::uvmc_tlm_nb_initiator_comp". + [INFO :CP0302] ovm-2.1.2/src/macros/ovm_phase_defines.svh:38 Compile class "ovm_pkg::report_phase". +[INFO :CP0302] ./sv/amiq_eth_pcap_util.sv:133 Compile class "amiq_eth_pkg::amiq_eth_pcap_util". + [INFO :CP0302] ovm-2.1.2/src/methodology/sequences/ovm_sequencer_base.svh:27 Compile class "ovm_pkg::seq_req_class". [INFO :CP0302] ovm-2.1.2/src/tlm/sqr_ifs.svh:34 Compile class "ovm_pkg::sqr_if_base". @@ -1028,6 +1040,8 @@ [INFO :CP0302] ovm-2.1.2/src/compatibility/urm_meth_compatibility.svh:58 Compile class "ovm_pkg::tlm_b_put_export". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_commands.sv:142 Compile class "uvmc_pkg::uvmc_wait_for_phase_info". + [INFO :CP0302] ovm-2.1.2/src/compatibility/urm_meth_compatibility.svh:58 Compile class "ovm_pkg::tlm_get_export". [INFO :CP0302] ovm-2.1.2/src/compatibility/urm_meth_compatibility.svh:52 Compile class "ovm_pkg::tlm_get_port". @@ -1042,28 +1056,18 @@ [INFO :CP0302] ovm-2.1.2/src/compatibility/urm_meth_compatibility.svh:52 Compile class "ovm_pkg::tlm_put_port". -[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_req_rsp.svh:38 Compile class "ovm_pkg::tlm_req_rsp_channel". +[INFO :CP0302] /home/alain/Surelog/src/dist/surelog/bin/../sv/builtin.sv:4 Compile class "work@mailbox". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_common.sv:181 Compile class "uvmc_pkg::uvmc_default_converter". +[INFO :CP0302] ovm-2.1.2/src/tlm/tlm_req_rsp.svh:38 Compile class "ovm_pkg::tlm_req_rsp_channel". [INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_commands.sv:133 Compile class "ovmc_pkg::uvmc_drop_objection_info". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_commands.sv:152 Compile class "uvmc_pkg::uvmc_drop_objection_info". - [INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm1.sv:780 Compile class "ovmc_pkg::uvmc_tlm1". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:704 Compile class "uvmc_pkg::uvmc_tlm". - -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:583 Compile class "uvmc_pkg::uvmc_tlm_b_initiator_comp". - [INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_commands.sv:123 Compile class "ovmc_pkg::uvmc_wait_for_phase_info". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:509 Compile class "uvmc_pkg::uvmc_tlm_b_target_comp". - [INFO :CP0302] ./sv/amiq_eth_pcap_util.sv:97 Compile class "amiq_eth_pkg::amiq_eth_pcaprec_hdr_s". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm2.sv:608 Compile class "uvmc_pkg::uvmc_tlm_nb_initiator_comp". - [INFO :CP0302] uvm-1.2/src/base/uvm_resource.svh:590 Compile class "uvm_pkg::get_t". [INFO :CP0302] uvm-1.2/src/base/uvm_tr_stream.svh:31 Compile class "uvm_pkg::m_uvm_tr_stream_cfg". @@ -1094,8 +1098,6 @@ [INFO :CP0302] uvm-1.2/src/tlm1/uvm_ports.svh:246 Compile class "uvm_pkg::uvm_blocking_transport_port". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_commands.sv:142 Compile class "uvmc_pkg::uvmc_wait_for_phase_info". - [INFO :CP0302] uvm-1.2/src/comps/uvm_policies.svh:74 Compile class "uvm_pkg::uvm_built_in_clone". [INFO :CP0302] uvm-1.2/src/comps/uvm_policies.svh:41 Compile class "uvm_pkg::uvm_built_in_comp". @@ -1122,8 +1124,6 @@ [INFO :CP0302] uvm-1.2/src/base/uvm_factory.svh:330 Compile class "uvm_pkg::uvm_default_factory". -[INFO :CP0302] /home/alain/Surelog/src/dist/surelog/bin/../sv/builtin.sv:4 Compile class "work@mailbox". - [INFO :CP0302] uvm-1.2/src/base/uvm_domain.svh:65 Compile class "uvm_pkg::uvm_domain". [INFO :CP0302] uvm-1.2/src/base/uvm_event_callback.svh:40 Compile class "uvm_pkg::uvm_event_callback". @@ -1188,6 +1188,8 @@ [INFO :CP0302] uvm-1.2/src/reg/sequences/uvm_reg_access_seq.svh:193 Compile class "uvm_pkg::uvm_reg_access_seq". +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_consumer". + [INFO :CP0302] uvm-1.2/src/reg/uvm_reg_adapter.svh:39 Compile class "uvm_pkg::uvm_reg_adapter". [INFO :CP0302] uvm-1.2/src/reg/uvm_reg_backdoor.svh:37 Compile class "uvm_pkg::uvm_reg_backdoor". @@ -1208,7 +1210,7 @@ [INFO :CP0302] uvm-1.2/src/base/uvm_report_object.svh:79 Compile class "uvm_pkg::uvm_report_object". -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_consumer". +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_ethernet_configuration_testing_packets". [INFO :CP0302] uvm-1.2/src/base/uvm_resource_db.svh:54 Compile class "uvm_pkg::uvm_resource_db". @@ -1234,12 +1236,12 @@ [INFO :CP0302] uvm-1.2/src/comps/uvm_test.svh:62 Compile class "uvm_pkg::uvm_test". +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_hsr_standard_packets". + [INFO :CP0302] uvm-1.2/src/base/uvm_objection.svh:1119 Compile class "uvm_pkg::uvm_test_done_objection". [INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets_base.svh:66 Compile class "uvm_pkg::uvm_tlm_b_initiator_socket_base". -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_ethernet_configuration_testing_packets". - [INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:308 Compile class "uvm_pkg::uvm_tlm_b_passthrough_target_socket". [INFO :CP0302] uvm-1.2/src/tlm2/uvm_tlm2_sockets.svh:104 Compile class "uvm_pkg::uvm_tlm_b_target_socket". @@ -1266,6 +1268,8 @@ [INFO :CP0302] uvm-1.2/src/base/uvm_transaction.svh:124 Compile class "uvm_pkg::uvm_transaction". +[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_magic_packets". + [INFO :CP0302] uvm-1.2/src/tlm1/uvm_exports.svh:255 Compile class "uvm_pkg::uvm_transport_export". [INFO :CP0302] uvm-1.2/src/tlm1/uvm_imps.svh:311 Compile class "uvm_pkg::uvm_transport_imp". @@ -1274,8 +1278,6 @@ [INFO :CP0302] uvm-1.2/src/base/uvm_callback.svh:61 Compile class "uvm_pkg::uvm_typeid". -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_hsr_standard_packets". - [INFO :CP0302] uvm-1.2/src/base/uvm_callback.svh:47 Compile class "uvm_pkg::uvm_typeid_base". [INFO :CP0302] uvm-1.2/src/base/uvm_misc.svh:635 Compile class "uvm_pkg::uvm_utils". @@ -1288,12 +1290,10 @@ [INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_common.sv:59 Compile class "uvmc_pkg::uvmc_converter". -[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm1.sv:458 Compile class "uvmc_pkg::uvmc_tlm1_dispatch". - -[INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_magic_packets". - [INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_object_defines.svh:330 Compile class "amiq_eth_ve_pkg::amiq_eth_ve_test_pfc_pause_packets". +[INFO :CP0302] uvmc-2.2/src/connect/sv/uvmc_tlm1.sv:458 Compile class "uvmc_pkg::uvmc_tlm1_dispatch". + [INFO :CP0302] ../../../UVM/uvm-1.2/src/macros/uvm_tlm_defines.svh:493 Compile class "amiq_eth_ve_pkg::uvm_analysis_imp_from_consumer". [INFO :CP0302] ovm-2.1.2/src/compatibility/avm_compatibility.svh:287 Compile class "ovm_pkg::analysis_fifo". @@ -1653,6 +1653,5 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -44.54user 0.46system 0:26.54elapsed 169%CPU (0avgtext+0avgdata 469232maxresident)k -0inputs+38720outputs (0major+128948minor)pagefaults 0swaps - +54.18user 0.53system 0:34.34elapsed 159%CPU (0avgtext+0avgdata 469252maxresident)k +952inputs+38712outputs (0major+128945minor)pagefaults 0swaps
diff --git a/src/Testcases/BeginKeywords/BeginKeywords.log b/src/Testcases/BeginKeywords/BeginKeywords.log index 472832c..2c8dacf 100644 --- a/src/Testcases/BeginKeywords/BeginKeywords.log +++ b/src/Testcases/BeginKeywords/BeginKeywords.log
@@ -58,7 +58,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.13user 0.02system 0:00.15elapsed 95%CPU (0avgtext+0avgdata 40028maxresident)k -8inputs+16outputs (0major+9618minor)pagefaults 0swaps +0.18user 0.01system 0:00.20elapsed 96%CPU (0avgtext+0avgdata 40040maxresident)k +8inputs+16outputs (0major+9622minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/ClassCons/ClassCons.log b/src/Testcases/ClassCons/ClassCons.log index 5ca120e..1430b19 100644 --- a/src/Testcases/ClassCons/ClassCons.log +++ b/src/Testcases/ClassCons/ClassCons.log
@@ -839,7 +839,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.64user 0.02system 0:00.67elapsed 99%CPU (0avgtext+0avgdata 45432maxresident)k -0inputs+136outputs (0major+14974minor)pagefaults 0swaps +0.65user 0.02system 0:00.68elapsed 98%CPU (0avgtext+0avgdata 45072maxresident)k +24inputs+136outputs (0major+14963minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/ClassFuncProto/ClassFuncProto.log b/src/Testcases/ClassFuncProto/ClassFuncProto.log index 108d2f1..a5a567a 100644 --- a/src/Testcases/ClassFuncProto/ClassFuncProto.log +++ b/src/Testcases/ClassFuncProto/ClassFuncProto.log
@@ -252,7 +252,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.23user 0.01system 0:00.24elapsed 98%CPU (0avgtext+0avgdata 40024maxresident)k -0inputs+40outputs (0major+11173minor)pagefaults 0swaps +0.35user 0.01system 0:00.38elapsed 97%CPU (0avgtext+0avgdata 40192maxresident)k +8inputs+40outputs (0major+11168minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/Escape/Escape.log b/src/Testcases/Escape/Escape.log index 7941976..f2d8b43 100644 --- a/src/Testcases/Escape/Escape.log +++ b/src/Testcases/Escape/Escape.log
@@ -103,7 +103,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.90user 0.01system 0:00.92elapsed 99%CPU (0avgtext+0avgdata 45572maxresident)k -0inputs+32outputs (0major+14746minor)pagefaults 0swaps +0.79user 0.02system 0:00.82elapsed 98%CPU (0avgtext+0avgdata 45112maxresident)k +16inputs+32outputs (0major+14744minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/GenerateUnnamed/GenerateUnnamed.log b/src/Testcases/GenerateUnnamed/GenerateUnnamed.log index 144adf7..039224e 100644 --- a/src/Testcases/GenerateUnnamed/GenerateUnnamed.log +++ b/src/Testcases/GenerateUnnamed/GenerateUnnamed.log
@@ -998,7 +998,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.53user 0.01system 0:00.55elapsed 98%CPU (0avgtext+0avgdata 40872maxresident)k -8inputs+112outputs (0major+13636minor)pagefaults 0swaps +0.69user 0.00system 0:00.70elapsed 99%CPU (0avgtext+0avgdata 40440maxresident)k +8inputs+112outputs (0major+13591minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/InterfaceModPort/InterfaceModPort.log b/src/Testcases/InterfaceModPort/InterfaceModPort.log index 694c568..f6c3a2f 100644 --- a/src/Testcases/InterfaceModPort/InterfaceModPort.log +++ b/src/Testcases/InterfaceModPort/InterfaceModPort.log
@@ -1004,7 +1004,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -1.02user 0.04system 0:01.13elapsed 93%CPU (0avgtext+0avgdata 47256maxresident)k -17384inputs+112outputs (64major+15625minor)pagefaults 0swaps +1.25user 0.03system 0:01.33elapsed 96%CPU (0avgtext+0avgdata 47276maxresident)k +8216inputs+112outputs (31major+15612minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/LibraryIntercon/LibraryIntercon.log b/src/Testcases/LibraryIntercon/LibraryIntercon.log index 1fc35a2..c78e922 100644 --- a/src/Testcases/LibraryIntercon/LibraryIntercon.log +++ b/src/Testcases/LibraryIntercon/LibraryIntercon.log
@@ -171,7 +171,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.98user 0.02system 0:01.01elapsed 99%CPU (0avgtext+0avgdata 46036maxresident)k -56inputs+256outputs (0major+14930minor)pagefaults 0swaps +0.98user 0.02system 0:01.01elapsed 99%CPU (0avgtext+0avgdata 45616maxresident)k +56inputs+256outputs (0major+14917minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/OldLibrary/OldLibrary.log b/src/Testcases/OldLibrary/OldLibrary.log index 141378b..5d4ea6c 100644 --- a/src/Testcases/OldLibrary/OldLibrary.log +++ b/src/Testcases/OldLibrary/OldLibrary.log
@@ -80,7 +80,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.28user 0.02system 0:00.31elapsed 98%CPU (0avgtext+0avgdata 40060maxresident)k -0inputs+144outputs (0major+10440minor)pagefaults 0swaps +0.22user 0.01system 0:00.24elapsed 96%CPU (0avgtext+0avgdata 39980maxresident)k +32inputs+144outputs (0major+10427minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/PackageHierRef/PackageHierRef.log b/src/Testcases/PackageHierRef/PackageHierRef.log index 2b4c3c9..a85e40c 100644 --- a/src/Testcases/PackageHierRef/PackageHierRef.log +++ b/src/Testcases/PackageHierRef/PackageHierRef.log
@@ -756,7 +756,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.41user 0.02system 0:00.44elapsed 98%CPU (0avgtext+0avgdata 40120maxresident)k -0inputs+120outputs (0major+12075minor)pagefaults 0swaps +0.49user 0.02system 0:00.52elapsed 98%CPU (0avgtext+0avgdata 40176maxresident)k +16inputs+120outputs (0major+12063minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/RiscV/RiscV.log b/src/Testcases/RiscV/RiscV.log index bbdea9b..3a8e980 100644 --- a/src/Testcases/RiscV/RiscV.log +++ b/src/Testcases/RiscV/RiscV.log
@@ -123,7 +123,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.71user 0.05system 0:04.77elapsed 99%CPU (0avgtext+0avgdata 103908maxresident)k -0inputs+2808outputs (0major+29688minor)pagefaults 0swaps +4.39user 0.08system 0:04.48elapsed 99%CPU (0avgtext+0avgdata 103632maxresident)k +288inputs+2808outputs (0major+29737minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SVSwitch/SVSwitch.log b/src/Testcases/SVSwitch/SVSwitch.log index e042a8b..54bef01 100644 --- a/src/Testcases/SVSwitch/SVSwitch.log +++ b/src/Testcases/SVSwitch/SVSwitch.log
@@ -276,7 +276,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.18user 0.02system 0:04.21elapsed 99%CPU (0avgtext+0avgdata 85820maxresident)k -144inputs+1088outputs (0major+25976minor)pagefaults 0swaps +4.49user 0.05system 0:04.55elapsed 99%CPU (0avgtext+0avgdata 85800maxresident)k +144inputs+1088outputs (0major+25965minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/Scoreboard/Scoreboard.log b/src/Testcases/Scoreboard/Scoreboard.log index 8b3b74e..43ed802 100644 --- a/src/Testcases/Scoreboard/Scoreboard.log +++ b/src/Testcases/Scoreboard/Scoreboard.log
@@ -785,7 +785,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -3.83user 0.08system 0:03.92elapsed 99%CPU (0avgtext+0avgdata 112876maxresident)k -0inputs+8080outputs (0major+38572minor)pagefaults 0swaps +3.80user 0.06system 0:03.87elapsed 99%CPU (0avgtext+0avgdata 112652maxresident)k +80inputs+8080outputs (0major+38565minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SeqDriver/SeqDriver.log b/src/Testcases/SeqDriver/SeqDriver.log index 9a74ddc..74f34ca 100644 --- a/src/Testcases/SeqDriver/SeqDriver.log +++ b/src/Testcases/SeqDriver/SeqDriver.log
@@ -769,7 +769,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.13user 0.12system 0:04.26elapsed 99%CPU (0avgtext+0avgdata 120284maxresident)k -0inputs+7880outputs (0major+40272minor)pagefaults 0swaps +4.12user 0.05system 0:04.18elapsed 99%CPU (0avgtext+0avgdata 119968maxresident)k +24inputs+7880outputs (0major+40259minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SimpleClass/SimpleClass.log b/src/Testcases/SimpleClass/SimpleClass.log index 180631e..3c77e45 100644 --- a/src/Testcases/SimpleClass/SimpleClass.log +++ b/src/Testcases/SimpleClass/SimpleClass.log
@@ -386,7 +386,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.26user 0.00system 0:00.27elapsed 98%CPU (0avgtext+0avgdata 40084maxresident)k -0inputs+72outputs (0major+10842minor)pagefaults 0swaps +0.28user 0.02system 0:00.30elapsed 97%CPU (0avgtext+0avgdata 39952maxresident)k +8inputs+72outputs (0major+10827minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SimpleClass2/SimpleClass2.log b/src/Testcases/SimpleClass2/SimpleClass2.log index 30d5c36..ec45340 100644 --- a/src/Testcases/SimpleClass2/SimpleClass2.log +++ b/src/Testcases/SimpleClass2/SimpleClass2.log
@@ -59,7 +59,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.57user 0.00system 0:00.58elapsed 99%CPU (0avgtext+0avgdata 40192maxresident)k -8inputs+88outputs (0major+12591minor)pagefaults 0swaps +0.64user 0.01system 0:00.66elapsed 98%CPU (0avgtext+0avgdata 39992maxresident)k +8inputs+88outputs (0major+12581minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SimpleCmdLineTest/SimpleCmdLineTest.log b/src/Testcases/SimpleCmdLineTest/SimpleCmdLineTest.log index bd8b870..388dec6 100644 --- a/src/Testcases/SimpleCmdLineTest/SimpleCmdLineTest.log +++ b/src/Testcases/SimpleCmdLineTest/SimpleCmdLineTest.log
@@ -23,7 +23,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.17user 0.02system 0:00.20elapsed 96%CPU (0avgtext+0avgdata 39996maxresident)k -0inputs+32outputs (0major+9633minor)pagefaults 0swaps +0.14user 0.01system 0:00.16elapsed 96%CPU (0avgtext+0avgdata 40108maxresident)k +48inputs+32outputs (0major+9627minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SimpleCmdLineTest/TestBasic.log b/src/Testcases/SimpleCmdLineTest/TestBasic.log index 0861f64..2a91e05 100644 --- a/src/Testcases/SimpleCmdLineTest/TestBasic.log +++ b/src/Testcases/SimpleCmdLineTest/TestBasic.log
@@ -78,7 +78,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.10user 0.01system 0:00.12elapsed 96%CPU (0avgtext+0avgdata 40204maxresident)k -0inputs+16outputs (0major+9620minor)pagefaults 0swaps +0.10user 0.01system 0:00.12elapsed 95%CPU (0avgtext+0avgdata 40020maxresident)k +0inputs+16outputs (0major+9613minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SimpleCmdLineTest/surelog.log b/src/Testcases/SimpleCmdLineTest/surelog.log index 6b08740..581ab1d 100644 --- a/src/Testcases/SimpleCmdLineTest/surelog.log +++ b/src/Testcases/SimpleCmdLineTest/surelog.log
@@ -6,8 +6,8 @@ http://www.apache.org/licenses/LICENSE-2.0 VERSION: 1.00 -BUILT : Nov 14 2019 -DATE : 2019-11-14.19:34:47 +BUILT : Nov 15 2019 +DATE : 2019-11-15.18:27:20 COMMAND: -h ------------ SURELOG HELP --------------
diff --git a/src/Testcases/SimpleConstraint/SimpleConstraint.log b/src/Testcases/SimpleConstraint/SimpleConstraint.log index c871557..6fafa8d 100644 --- a/src/Testcases/SimpleConstraint/SimpleConstraint.log +++ b/src/Testcases/SimpleConstraint/SimpleConstraint.log
@@ -10,7 +10,7 @@ [INFO :PP0122] Preprocessing source file "top.sv". -Preprocessing took 0.010s +Preprocessing took 0.012s [INFO :PA0201] Parsing source file "/home/alain/Surelog/src/dist/surelog/bin/../sv/builtin.sv". @@ -995,9 +995,9 @@ n<> u<720> t<Description> p<721> c<719> l<4> n<> u<721> t<Source_text> p<722> c<17> l<2> n<> u<722> t<Top_level_rule> l<2> -Parsing took 1.118s -SSL Parsing: 0.036 ./slpp_all/work//home/alain/Surelog/src/dist/surelog/bin/__/sv/builtin.sv -SSL Parsing: 1.076 ./slpp_all/work/top.sv +Parsing took 1.234s +SSL Parsing: 0.042 ./slpp_all/work//home/alain/Surelog/src/dist/surelog/bin/__/sv/builtin.sv +SSL Parsing: 1.186 ./slpp_all/work/top.sv [WARNI:PA0205] top.sv:4 No timescale set for "constaint_mode_ex". @@ -1033,13 +1033,13 @@ PROFILE ============== Scan libraries took 0.000s -Preprocessing took 0.010s -Parsing took 1.118s -SSL Parsing: 0.036 ./slpp_all/work//home/alain/Surelog/src/dist/surelog/bin/__/sv/builtin.sv -SSL Parsing: 1.076 ./slpp_all/work/top.sv +Preprocessing took 0.012s +Parsing took 1.234s +SSL Parsing: 0.042 ./slpp_all/work//home/alain/Surelog/src/dist/surelog/bin/__/sv/builtin.sv +SSL Parsing: 1.186 ./slpp_all/work/top.sv Compilation took 0.000s Elaboration took 0.000s -Total time 1.128s +Total time 1.248s ============== [ FATAL] : 0 @@ -1051,7 +1051,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -1.22user 0.02system 0:01.25elapsed 99%CPU (0avgtext+0avgdata 48644maxresident)k -0inputs+104outputs (0major+16014minor)pagefaults 0swaps +1.34user 0.04system 0:01.38elapsed 99%CPU (0avgtext+0avgdata 48348maxresident)k +8inputs+104outputs (0major+16021minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SimpleInterface/SimpleInterface.log b/src/Testcases/SimpleInterface/SimpleInterface.log index 0d4f80d..f60bc62 100644 --- a/src/Testcases/SimpleInterface/SimpleInterface.log +++ b/src/Testcases/SimpleInterface/SimpleInterface.log
@@ -2088,7 +2088,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -2.53user 0.05system 0:02.59elapsed 99%CPU (0avgtext+0avgdata 100472maxresident)k -0inputs+7632outputs (0major+34818minor)pagefaults 0swaps +2.54user 0.04system 0:02.59elapsed 99%CPU (0avgtext+0avgdata 100412maxresident)k +8inputs+7632outputs (0major+34824minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SimpleOVM/SimpleOVM.log b/src/Testcases/SimpleOVM/SimpleOVM.log index 8e59a1f..33293e2 100644 --- a/src/Testcases/SimpleOVM/SimpleOVM.log +++ b/src/Testcases/SimpleOVM/SimpleOVM.log
@@ -657,7 +657,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.88user 0.02system 0:00.91elapsed 99%CPU (0avgtext+0avgdata 71904maxresident)k -0inputs+4520outputs (0major+23710minor)pagefaults 0swaps +0.88user 0.04system 0:00.93elapsed 99%CPU (0avgtext+0avgdata 71884maxresident)k +8inputs+4520outputs (0major+23661minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SimpleParserTest/SimpleParserTest.log b/src/Testcases/SimpleParserTest/SimpleParserTest.log index dec50da..5578cf2 100644 --- a/src/Testcases/SimpleParserTest/SimpleParserTest.log +++ b/src/Testcases/SimpleParserTest/SimpleParserTest.log
@@ -838,7 +838,6 @@ ******************************************** Command exited with non-zero status 1 -2.36user 0.02system 0:02.40elapsed 99%CPU (0avgtext+0avgdata 74512maxresident)k -0inputs+136outputs (0major+22258minor)pagefaults 0swaps +2.60user 0.02system 0:02.64elapsed 99%CPU (0avgtext+0avgdata 74504maxresident)k +128inputs+136outputs (0major+22250minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SimpleUVM/SimpleUVM.log b/src/Testcases/SimpleUVM/SimpleUVM.log index c809f08..80d784b 100644 --- a/src/Testcases/SimpleUVM/SimpleUVM.log +++ b/src/Testcases/SimpleUVM/SimpleUVM.log
@@ -761,7 +761,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -2.56user 0.07system 0:02.64elapsed 99%CPU (0avgtext+0avgdata 101100maxresident)k -0inputs+7688outputs (0major+35478minor)pagefaults 0swaps +2.73user 0.04system 0:02.79elapsed 99%CPU (0avgtext+0avgdata 100808maxresident)k +16inputs+7688outputs (0major+35466minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/SplitFile/SplitFile.log b/src/Testcases/SplitFile/SplitFile.log index bc37761..0a8b43a 100644 --- a/src/Testcases/SplitFile/SplitFile.log +++ b/src/Testcases/SplitFile/SplitFile.log
@@ -225,7 +225,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.61user 0.01system 0:00.62elapsed 99%CPU (0avgtext+0avgdata 47688maxresident)k -24inputs+152outputs (0major+15409minor)pagefaults 0swaps +0.67user 0.03system 0:00.71elapsed 99%CPU (0avgtext+0avgdata 47412maxresident)k +24inputs+152outputs (0major+15388minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/TestFileSplit/TestFileSplit.log b/src/Testcases/TestFileSplit/TestFileSplit.log index 77a56f1..977d0d1 100644 --- a/src/Testcases/TestFileSplit/TestFileSplit.log +++ b/src/Testcases/TestFileSplit/TestFileSplit.log
@@ -1488,7 +1488,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.23user 0.02system 0:00.26elapsed 96%CPU (0avgtext+0avgdata 40084maxresident)k -0inputs+152outputs (0major+10151minor)pagefaults 0swaps +0.31user 0.01system 0:00.33elapsed 97%CPU (0avgtext+0avgdata 39992maxresident)k +32inputs+152outputs (0major+10153minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/TestMacros/TestMacros.log b/src/Testcases/TestMacros/TestMacros.log index 207354b..4eb22bc 100644 --- a/src/Testcases/TestMacros/TestMacros.log +++ b/src/Testcases/TestMacros/TestMacros.log
@@ -75,7 +75,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.84user 0.03system 0:00.88elapsed 99%CPU (0avgtext+0avgdata 42508maxresident)k -0inputs+344outputs (0major+13867minor)pagefaults 0swaps +0.78user 0.01system 0:00.80elapsed 98%CPU (0avgtext+0avgdata 42208maxresident)k +40inputs+344outputs (0major+13856minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/TimeUnit/TimeUnit.log b/src/Testcases/TimeUnit/TimeUnit.log index 6630405..a68ac6d 100644 --- a/src/Testcases/TimeUnit/TimeUnit.log +++ b/src/Testcases/TimeUnit/TimeUnit.log
@@ -114,7 +114,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.73user 0.03system 0:00.77elapsed 99%CPU (0avgtext+0avgdata 47760maxresident)k -0inputs+120outputs (0major+15355minor)pagefaults 0swaps +0.63user 0.02system 0:00.66elapsed 98%CPU (0avgtext+0avgdata 47488maxresident)k +16inputs+120outputs (0major+15393minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UVMNestedSeq/UVMNestedSeq.log b/src/Testcases/UVMNestedSeq/UVMNestedSeq.log index d379834..af44ac3 100644 --- a/src/Testcases/UVMNestedSeq/UVMNestedSeq.log +++ b/src/Testcases/UVMNestedSeq/UVMNestedSeq.log
@@ -865,7 +865,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -7.36user 0.10system 0:07.47elapsed 99%CPU (0avgtext+0avgdata 167308maxresident)k -0inputs+12064outputs (0major+51985minor)pagefaults 0swaps +7.09user 0.12system 0:07.23elapsed 99%CPU (0avgtext+0avgdata 166912maxresident)k +72inputs+12064outputs (0major+51972minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitAmiqEth/UnitAmiqEth.log b/src/Testcases/UnitAmiqEth/UnitAmiqEth.log index 4260aea..0d5be1d 100644 --- a/src/Testcases/UnitAmiqEth/UnitAmiqEth.log +++ b/src/Testcases/UnitAmiqEth/UnitAmiqEth.log
@@ -1285,7 +1285,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -7.60user 0.09system 0:07.70elapsed 99%CPU (0avgtext+0avgdata 135460maxresident)k -0inputs+8656outputs (0major+44028minor)pagefaults 0swaps +7.00user 0.11system 0:07.12elapsed 99%CPU (0avgtext+0avgdata 135272maxresident)k +176inputs+8648outputs (0major+44014minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitClass/UnitClass.log b/src/Testcases/UnitClass/UnitClass.log index 10f9935..da03e5c 100644 --- a/src/Testcases/UnitClass/UnitClass.log +++ b/src/Testcases/UnitClass/UnitClass.log
@@ -668,7 +668,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.36user 0.00system 0:00.37elapsed 98%CPU (0avgtext+0avgdata 40172maxresident)k -0inputs+88outputs (0major+12898minor)pagefaults 0swaps +0.44user 0.01system 0:00.47elapsed 98%CPU (0avgtext+0avgdata 39944maxresident)k +8inputs+88outputs (0major+12882minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitDefParam/UnitDefParam.log b/src/Testcases/UnitDefParam/UnitDefParam.log index a3b091e..cca2a8e 100644 --- a/src/Testcases/UnitDefParam/UnitDefParam.log +++ b/src/Testcases/UnitDefParam/UnitDefParam.log
@@ -988,7 +988,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.96user 0.02system 0:00.98elapsed 99%CPU (0avgtext+0avgdata 40184maxresident)k -0inputs+144outputs (0major+13109minor)pagefaults 0swaps +0.80user 0.03system 0:00.84elapsed 99%CPU (0avgtext+0avgdata 40104maxresident)k +24inputs+144outputs (0major+13095minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitElab/UnitElab.log b/src/Testcases/UnitElab/UnitElab.log index 0051ec2..ea51823 100644 --- a/src/Testcases/UnitElab/UnitElab.log +++ b/src/Testcases/UnitElab/UnitElab.log
@@ -8724,7 +8724,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -1.01user 0.02system 0:01.05elapsed 99%CPU (0avgtext+0avgdata 50424maxresident)k -16inputs+504outputs (0major+15968minor)pagefaults 0swaps +1.18user 0.04system 0:01.23elapsed 99%CPU (0avgtext+0avgdata 50212maxresident)k +16inputs+504outputs (0major+15958minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitElabBlock/UnitElabBlock.log b/src/Testcases/UnitElabBlock/UnitElabBlock.log index 81049a0..12f9cc0 100644 --- a/src/Testcases/UnitElabBlock/UnitElabBlock.log +++ b/src/Testcases/UnitElabBlock/UnitElabBlock.log
@@ -551,7 +551,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.39user 0.00system 0:00.41elapsed 98%CPU (0avgtext+0avgdata 40136maxresident)k -792inputs+80outputs (0major+12416minor)pagefaults 0swaps +0.43user 0.03system 0:00.47elapsed 98%CPU (0avgtext+0avgdata 40008maxresident)k +784inputs+80outputs (0major+12408minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitElabExternNested/UnitElabExternNested.log b/src/Testcases/UnitElabExternNested/UnitElabExternNested.log index f8c69d2..3e47a18 100644 --- a/src/Testcases/UnitElabExternNested/UnitElabExternNested.log +++ b/src/Testcases/UnitElabExternNested/UnitElabExternNested.log
@@ -823,7 +823,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.40user 0.01system 0:00.42elapsed 98%CPU (0avgtext+0avgdata 40180maxresident)k -16inputs+120outputs (0major+12372minor)pagefaults 0swaps +0.43user 0.02system 0:00.46elapsed 97%CPU (0avgtext+0avgdata 39992maxresident)k +16inputs+120outputs (0major+12389minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitEnum/UnitEnum.log b/src/Testcases/UnitEnum/UnitEnum.log index 5b397a8..8069616 100644 --- a/src/Testcases/UnitEnum/UnitEnum.log +++ b/src/Testcases/UnitEnum/UnitEnum.log
@@ -422,7 +422,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.19user 0.01system 0:00.21elapsed 96%CPU (0avgtext+0avgdata 40204maxresident)k -0inputs+24outputs (0major+9952minor)pagefaults 0swaps +0.18user 0.02system 0:00.20elapsed 97%CPU (0avgtext+0avgdata 40136maxresident)k +8inputs+24outputs (0major+9941minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitForLoop/UnitForLoop.log b/src/Testcases/UnitForLoop/UnitForLoop.log index 6f2cb9b..2ec8a3c 100644 --- a/src/Testcases/UnitForLoop/UnitForLoop.log +++ b/src/Testcases/UnitForLoop/UnitForLoop.log
@@ -326,7 +326,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.58user 0.02system 0:00.61elapsed 99%CPU (0avgtext+0avgdata 40052maxresident)k -0inputs+16outputs (0major+13204minor)pagefaults 0swaps +0.41user 0.01system 0:00.43elapsed 98%CPU (0avgtext+0avgdata 40008maxresident)k +8inputs+16outputs (0major+13199minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitForeach/UnitForeach.log b/src/Testcases/UnitForeach/UnitForeach.log index 413b1bd..fbf3e7d 100644 --- a/src/Testcases/UnitForeach/UnitForeach.log +++ b/src/Testcases/UnitForeach/UnitForeach.log
@@ -350,7 +350,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.54user 0.03system 0:00.57elapsed 99%CPU (0avgtext+0avgdata 42636maxresident)k -0inputs+64outputs (0major+14230minor)pagefaults 0swaps +0.50user 0.02system 0:00.53elapsed 99%CPU (0avgtext+0avgdata 42396maxresident)k +8inputs+64outputs (0major+14234minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitLibrary/UnitLibrary.log b/src/Testcases/UnitLibrary/UnitLibrary.log index d2569f9..669101f 100644 --- a/src/Testcases/UnitLibrary/UnitLibrary.log +++ b/src/Testcases/UnitLibrary/UnitLibrary.log
@@ -288,7 +288,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.22user 0.00system 0:00.23elapsed 97%CPU (0avgtext+0avgdata 40084maxresident)k -0inputs+472outputs (0major+10585minor)pagefaults 0swaps +0.24user 0.02system 0:00.27elapsed 97%CPU (0avgtext+0avgdata 40024maxresident)k +120inputs+472outputs (0major+10579minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitPackage/UnitPackage.log b/src/Testcases/UnitPackage/UnitPackage.log index 9b62681..6153321 100644 --- a/src/Testcases/UnitPackage/UnitPackage.log +++ b/src/Testcases/UnitPackage/UnitPackage.log
@@ -1012,7 +1012,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -2.32user 0.02system 0:02.35elapsed 99%CPU (0avgtext+0avgdata 57124maxresident)k -0inputs+160outputs (0major+17819minor)pagefaults 0swaps +2.05user 0.03system 0:02.09elapsed 99%CPU (0avgtext+0avgdata 56832maxresident)k +24inputs+160outputs (0major+17851minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitPython/UnitPython.log b/src/Testcases/UnitPython/UnitPython.log index 39ff9eb..df2ad24 100644 --- a/src/Testcases/UnitPython/UnitPython.log +++ b/src/Testcases/UnitPython/UnitPython.log
@@ -1172,7 +1172,6 @@ ******************************************** Command exited with non-zero status 1 -0.20user 0.00system 0:00.21elapsed 97%CPU (0avgtext+0avgdata 40076maxresident)k -208inputs+24outputs (1major+10159minor)pagefaults 0swaps +0.24user 0.02system 0:00.27elapsed 96%CPU (0avgtext+0avgdata 40108maxresident)k +320inputs+24outputs (2major+10153minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitQueue/UnitQueue.log b/src/Testcases/UnitQueue/UnitQueue.log index 4411e3e..0cf0e96 100644 --- a/src/Testcases/UnitQueue/UnitQueue.log +++ b/src/Testcases/UnitQueue/UnitQueue.log
@@ -227,7 +227,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.48user 0.01system 0:00.50elapsed 99%CPU (0avgtext+0avgdata 39988maxresident)k -0inputs+16outputs (0major+13449minor)pagefaults 0swaps +0.50user 0.01system 0:00.51elapsed 99%CPU (0avgtext+0avgdata 39948maxresident)k +8inputs+16outputs (0major+13437minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/UnitTest/UnitTest.log b/src/Testcases/UnitTest/UnitTest.log index d2deab9..a463b54 100644 --- a/src/Testcases/UnitTest/UnitTest.log +++ b/src/Testcases/UnitTest/UnitTest.log
@@ -42,7 +42,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.11user 0.00system 0:00.12elapsed 92%CPU (0avgtext+0avgdata 40104maxresident)k -8inputs+8outputs (0major+9608minor)pagefaults 0swaps +0.14user 0.00system 0:00.16elapsed 93%CPU (0avgtext+0avgdata 40040maxresident)k +8inputs+8outputs (0major+9613minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysBigSim/aes_5cycle_2stage/YosysBigSimAes.log b/src/Testcases/YosysBigSim/aes_5cycle_2stage/YosysBigSimAes.log index 3f01ea6..be54253 100644 --- a/src/Testcases/YosysBigSim/aes_5cycle_2stage/YosysBigSimAes.log +++ b/src/Testcases/YosysBigSim/aes_5cycle_2stage/YosysBigSimAes.log
@@ -12,13 +12,13 @@ [INFO :CP0303] rtl/aes_cipher_top.v:48 Compile module "work@aes_cipher_top". -[INFO :CP0303] rtl/aes_rcon.v:42 Compile module "work@aes_rcon". +[INFO :CP0303] sim/bench.v:70 Compile module "work@testbench". [INFO :CP0303] rtl/aes_key_expand_128.v:42 Compile module "work@aes_key_expand_128". -[INFO :CP0303] rtl/aes_sbox.v:43 Compile module "work@aes_sbox". +[INFO :CP0303] rtl/aes_rcon.v:42 Compile module "work@aes_rcon". -[INFO :CP0303] sim/bench.v:70 Compile module "work@testbench". +[INFO :CP0303] rtl/aes_sbox.v:43 Compile module "work@aes_sbox". [INFO :EL0526] Design Elaboration... @@ -41,7 +41,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -3.97user 0.10system 0:01.63elapsed 249%CPU (0avgtext+0avgdata 72652maxresident)k -0inputs+264outputs (0major+17181minor)pagefaults 0swaps +4.79user 0.13system 0:01.90elapsed 258%CPU (0avgtext+0avgdata 71792maxresident)k +168inputs+264outputs (0major+17233minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysBigSim/amber23/YosysBigSimAmber23.log b/src/Testcases/YosysBigSim/amber23/YosysBigSimAmber23.log index c398273..bd7b825 100644 --- a/src/Testcases/YosysBigSim/amber23/YosysBigSimAmber23.log +++ b/src/Testcases/YosysBigSim/amber23/YosysBigSimAmber23.log
@@ -38,42 +38,34 @@ [WARNI:PA0205] rtl/generic_sram_line_en.v:42 No timescale set for "generic_sram_line_en". -[WARNI:PA0205] sim/bench.v:2 No timescale set for "testbench". - [WARNI:PA0205] rtl/a23_decode.v:43 No timescale set for "a23_decode". +[WARNI:PA0205] sim/bench.v:2 No timescale set for "testbench". + [WARNI:PA0205] rtl/a23_cache.v:47 No timescale set for "a23_cache". [WARNI:PA0205] rtl/a23_ram_register_bank.v:44 No timescale set for "a23_ram_register_bank". [INFO :CP0300] Compilation... -[INFO :CP0303] rtl/a23_barrel_shift.v:42 Compile module "work@a23_barrel_shift". - [INFO :CP0303] rtl/a23_alu.v:43 Compile module "work@a23_alu". -[INFO :CP0303] rtl/a23_cache.v:47 Compile module "work@a23_cache". - [INFO :CP0303] rtl/a23_barrel_shift_fpga.v:46 Compile module "work@a23_barrel_shift_fpga". [INFO :CP0303] rtl/a23_coprocessor.v:41 Compile module "work@a23_coprocessor". -[INFO :CP0303] rtl/a23_execute.v:45 Compile module "work@a23_execute". - [INFO :CP0303] rtl/a23_decode.v:43 Compile module "work@a23_decode". -[INFO :CP0303] rtl/a23_decompile.v:44 Compile module "work@a23_decompile". +[INFO :CP0303] rtl/a23_execute.v:45 Compile module "work@a23_execute". + +[INFO :CP0303] rtl/a23_barrel_shift.v:42 Compile module "work@a23_barrel_shift". [INFO :CP0303] rtl/a23_core.v:43 Compile module "work@a23_core". -[INFO :CP0303] rtl/a23_ram_register_bank.v:44 Compile module "work@a23_ram_register_bank". - [INFO :CP0303] rtl/a23_fetch.v:45 Compile module "work@a23_fetch". [INFO :CP0303] rtl/a23_wishbone.v:58 Compile module "work@a23_wishbone". -[INFO :CP0303] rtl/generic_sram_line_en.v:42 Compile module "work@generic_sram_line_en". - [INFO :CP0303] rtl/a23_register_bank.v:44 Compile module "work@a23_register_bank". [INFO :CP0303] sim/bench.v:2 Compile module "work@testbench". @@ -82,6 +74,14 @@ [INFO :CP0303] rtl/generic_sram_byte_en.v:43 Compile module "work@generic_sram_byte_en". +[INFO :CP0303] rtl/a23_cache.v:47 Compile module "work@a23_cache". + +[INFO :CP0303] rtl/a23_decompile.v:44 Compile module "work@a23_decompile". + +[INFO :CP0303] rtl/a23_ram_register_bank.v:44 Compile module "work@a23_ram_register_bank". + +[INFO :CP0303] rtl/generic_sram_line_en.v:42 Compile module "work@generic_sram_line_en". + [NOTE :CP0309] rtl/a23_alu.v:51 Implicit port type (wire) for "o_out", there are 1 more instances of this message. @@ -153,7 +153,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -11.31user 0.19system 0:03.67elapsed 313%CPU (0avgtext+0avgdata 220944maxresident)k -0inputs+1392outputs (0major+54322minor)pagefaults 0swaps +11.60user 0.15system 0:03.65elapsed 321%CPU (0avgtext+0avgdata 220672maxresident)k +816inputs+1392outputs (0major+54215minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysBigSim/amber23/YosysBigSimAmber23_diff.log b/src/Testcases/YosysBigSim/amber23/YosysBigSimAmber23_diff.log index 77ec981..42d5eff 100644 --- a/src/Testcases/YosysBigSim/amber23/YosysBigSimAmber23_diff.log +++ b/src/Testcases/YosysBigSim/amber23/YosysBigSimAmber23_diff.log
@@ -48,40 +48,40 @@ [INFO :CP0300] Compilation... -[INFO :CP0303] rtl/a23_barrel_shift.v:42 Compile module "work@a23_barrel_shift". - [INFO :CP0303] rtl/a23_alu.v:43 Compile module "work@a23_alu". -[INFO :CP0303] rtl/a23_cache.v:47 Compile module "work@a23_cache". - -[INFO :CP0303] rtl/a23_barrel_shift_fpga.v:46 Compile module "work@a23_barrel_shift_fpga". - [INFO :CP0303] rtl/a23_coprocessor.v:41 Compile module "work@a23_coprocessor". [INFO :CP0303] rtl/a23_execute.v:45 Compile module "work@a23_execute". -[INFO :CP0303] rtl/a23_decode.v:43 Compile module "work@a23_decode". +[INFO :CP0303] rtl/a23_register_bank.v:44 Compile module "work@a23_register_bank". -[INFO :CP0303] rtl/a23_decompile.v:44 Compile module "work@a23_decompile". +[INFO :CP0303] sim/bench.v:2 Compile module "work@testbench". + +[INFO :CP0303] rtl/a23_barrel_shift.v:42 Compile module "work@a23_barrel_shift". [INFO :CP0303] rtl/a23_core.v:43 Compile module "work@a23_core". -[INFO :CP0303] rtl/a23_ram_register_bank.v:44 Compile module "work@a23_ram_register_bank". - [INFO :CP0303] rtl/a23_fetch.v:45 Compile module "work@a23_fetch". [INFO :CP0303] rtl/a23_wishbone.v:58 Compile module "work@a23_wishbone". -[INFO :CP0303] rtl/generic_sram_line_en.v:42 Compile module "work@generic_sram_line_en". +[INFO :CP0303] rtl/a23_barrel_shift_fpga.v:46 Compile module "work@a23_barrel_shift_fpga". -[INFO :CP0303] rtl/a23_register_bank.v:44 Compile module "work@a23_register_bank". +[INFO :CP0303] rtl/a23_decode.v:43 Compile module "work@a23_decode". -[INFO :CP0303] sim/bench.v:2 Compile module "work@testbench". +[INFO :CP0303] rtl/a23_cache.v:47 Compile module "work@a23_cache". [INFO :CP0303] rtl/a23_multiply.v:56 Compile module "work@a23_multiply". [INFO :CP0303] rtl/generic_sram_byte_en.v:43 Compile module "work@generic_sram_byte_en". +[INFO :CP0303] rtl/a23_decompile.v:44 Compile module "work@a23_decompile". + +[INFO :CP0303] rtl/a23_ram_register_bank.v:44 Compile module "work@a23_ram_register_bank". + +[INFO :CP0303] rtl/generic_sram_line_en.v:42 Compile module "work@generic_sram_line_en". + [NOTE :CP0309] rtl/a23_alu.v:51 Implicit port type (wire) for "o_out", there are 1 more instances of this message. @@ -153,6 +153,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -11.31user 0.19system 0:03.67elapsed 313%CPU (0avgtext+0avgdata 220944maxresident)k -0inputs+1392outputs (0major+54322minor)pagefaults 0swaps +12.24user 0.16system 0:04.23elapsed 292%CPU (0avgtext+0avgdata 220192maxresident)k +816inputs+1392outputs (0major+54076minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysBigSim/lm32/YosysBigSimLm32.log b/src/Testcases/YosysBigSim/lm32/YosysBigSimLm32.log index ddaf4b6..fead2ea 100644 --- a/src/Testcases/YosysBigSim/lm32/YosysBigSimLm32.log +++ b/src/Testcases/YosysBigSim/lm32/YosysBigSimLm32.log
@@ -68,10 +68,10 @@ [WARNI:PA0205] rtl/lm32_shifter.v:55 No timescale set for "lm32_shifter". -[WARNI:PA0205] rtl/lm32_instruction_unit.v:76 No timescale set for "lm32_instruction_unit". - [WARNI:PA0205] rtl/lm32_interrupt.v:55 No timescale set for "lm32_interrupt". +[WARNI:PA0205] rtl/lm32_instruction_unit.v:76 No timescale set for "lm32_instruction_unit". + [WARNI:PA0205] rtl/lm32_mc_arithmetic.v:56 No timescale set for "lm32_mc_arithmetic". [WARNI:PA0205] rtl/lm32_ram.v:60 No timescale set for "lm32_ram". @@ -92,36 +92,36 @@ [INFO :CP0303] rtl/lm32_cpu.v:98 Compile module "work@lm32_cpu". -[INFO :CP0303] rtl/lm32_debug.v:61 Compile module "work@lm32_debug". +[INFO :CP0303] rtl/lm32_dcache.v:62 Compile module "work@lm32_dcache". [INFO :CP0303] rtl/lm32_decoder.v:65 Compile module "work@lm32_decoder". +[INFO :CP0303] rtl/lm32_debug.v:61 Compile module "work@lm32_debug". + [INFO :CP0303] rtl/lm32_icache.v:67 Compile module "work@lm32_icache". [INFO :CP0303] rtl/lm32_load_store_unit.v:68 Compile module "work@lm32_load_store_unit". -[INFO :CP0303] rtl/lm32_dp_ram.v:36 Compile module "work@lm32_dp_ram". - [INFO :CP0303] rtl/lm32_instruction_unit.v:76 Compile module "work@lm32_instruction_unit". +[INFO :CP0303] rtl/lm32_ram.v:60 Compile module "work@lm32_ram". + +[INFO :CP0303] rtl/lm32_dp_ram.v:36 Compile module "work@lm32_dp_ram". + [INFO :CP0303] rtl/lm32_interrupt.v:55 Compile module "work@lm32_interrupt". [INFO :CP0303] rtl/lm32_mc_arithmetic.v:56 Compile module "work@lm32_mc_arithmetic". +[INFO :CP0303] rtl/lm32_logic_op.v:55 Compile module "work@lm32_logic_op". + [INFO :CP0303] rtl/lm32_top.v:55 Compile module "work@lm32_top". -[INFO :CP0303] rtl/lm32_dcache.v:62 Compile module "work@lm32_dcache". +[INFO :CP0303] rtl/lm32_shifter.v:55 Compile module "work@lm32_shifter". [INFO :CP0303] rtl/lm32_dtlb.v:41 Compile module "work@lm32_dtlb". -[INFO :CP0303] rtl/lm32_ram.v:60 Compile module "work@lm32_ram". - -[INFO :CP0303] rtl/lm32_logic_op.v:55 Compile module "work@lm32_logic_op". - [INFO :CP0303] rtl/lm32_itlb.v:40 Compile module "work@lm32_itlb". -[INFO :CP0303] rtl/lm32_shifter.v:55 Compile module "work@lm32_shifter". - [INFO :CP0303] rtl/lm32_multiplier.v:55 Compile module "work@lm32_multiplier". [INFO :CP0303] sim/tb_lm32_system.v:33 Compile module "work@testbench". @@ -198,7 +198,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -17.65user 0.30system 0:06.04elapsed 296%CPU (0avgtext+0avgdata 304116maxresident)k -816inputs+1200outputs (0major+75642minor)pagefaults 0swaps +19.25user 0.30system 0:06.51elapsed 300%CPU (0avgtext+0avgdata 303704maxresident)k +816inputs+1200outputs (0major+75626minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysBigSim/lm32/YosysBigSimLm32_diff.log b/src/Testcases/YosysBigSim/lm32/YosysBigSimLm32_diff.log index e60e49f..37a891a 100644 --- a/src/Testcases/YosysBigSim/lm32/YosysBigSimLm32_diff.log +++ b/src/Testcases/YosysBigSim/lm32/YosysBigSimLm32_diff.log
@@ -92,17 +92,29 @@ [INFO :CP0303] rtl/lm32_cpu.v:98 Compile module "work@lm32_cpu". +[INFO :CP0303] rtl/lm32_dcache.v:62 Compile module "work@lm32_dcache". + [INFO :CP0303] rtl/lm32_debug.v:61 Compile module "work@lm32_debug". [INFO :CP0303] rtl/lm32_decoder.v:65 Compile module "work@lm32_decoder". [INFO :CP0303] rtl/lm32_icache.v:67 Compile module "work@lm32_icache". +[INFO :CP0303] rtl/lm32_dtlb.v:41 Compile module "work@lm32_dtlb". + [INFO :CP0303] rtl/lm32_load_store_unit.v:68 Compile module "work@lm32_load_store_unit". +[INFO :CP0303] rtl/lm32_itlb.v:40 Compile module "work@lm32_itlb". + +[INFO :CP0303] rtl/lm32_instruction_unit.v:76 Compile module "work@lm32_instruction_unit". + +[INFO :CP0303] rtl/lm32_multiplier.v:55 Compile module "work@lm32_multiplier". + +[INFO :CP0303] sim/tb_lm32_system.v:33 Compile module "work@testbench". + [INFO :CP0303] rtl/lm32_dp_ram.v:36 Compile module "work@lm32_dp_ram". -[INFO :CP0303] rtl/lm32_instruction_unit.v:76 Compile module "work@lm32_instruction_unit". +[INFO :CP0303] rtl/lm32_ram.v:60 Compile module "work@lm32_ram". [INFO :CP0303] rtl/lm32_interrupt.v:55 Compile module "work@lm32_interrupt". @@ -110,22 +122,10 @@ [INFO :CP0303] rtl/lm32_top.v:55 Compile module "work@lm32_top". -[INFO :CP0303] rtl/lm32_dcache.v:62 Compile module "work@lm32_dcache". - -[INFO :CP0303] rtl/lm32_dtlb.v:41 Compile module "work@lm32_dtlb". - -[INFO :CP0303] rtl/lm32_ram.v:60 Compile module "work@lm32_ram". - [INFO :CP0303] rtl/lm32_logic_op.v:55 Compile module "work@lm32_logic_op". -[INFO :CP0303] rtl/lm32_itlb.v:40 Compile module "work@lm32_itlb". - [INFO :CP0303] rtl/lm32_shifter.v:55 Compile module "work@lm32_shifter". -[INFO :CP0303] rtl/lm32_multiplier.v:55 Compile module "work@lm32_multiplier". - -[INFO :CP0303] sim/tb_lm32_system.v:33 Compile module "work@testbench". - [NOTE :CP0309] rtl/lm32_adder.v:62 Implicit port type (wire) for "adder_result_x", there are 1 more instances of this message. @@ -198,6 +198,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -17.65user 0.30system 0:06.04elapsed 296%CPU (0avgtext+0avgdata 304116maxresident)k -816inputs+1200outputs (0major+75642minor)pagefaults 0swaps +22.11user 0.37system 0:08.35elapsed 269%CPU (0avgtext+0avgdata 303792maxresident)k +816inputs+1200outputs (0major+75549minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysBigSim/openmsp430/YosysBigSimOpenMsp_diff.log b/src/Testcases/YosysBigSim/openmsp430/YosysBigSimOpenMsp_diff.log index d42575c..116d2e7 100644 --- a/src/Testcases/YosysBigSim/openmsp430/YosysBigSimOpenMsp_diff.log +++ b/src/Testcases/YosysBigSim/openmsp430/YosysBigSimOpenMsp_diff.log
@@ -94,48 +94,48 @@ [INFO :CP0303] rtl/omsp_and_gate.v:44 Compile module "work@omsp_and_gate". -[INFO :CP0303] rtl/omsp_clock_gate.v:44 Compile module "work@omsp_clock_gate". - [INFO :CP0303] rtl/omsp_alu.v:46 Compile module "work@omsp_alu". +[INFO :CP0303] rtl/omsp_clock_gate.v:44 Compile module "work@omsp_clock_gate". + [INFO :CP0303] rtl/omsp_clock_module.v:46 Compile module "work@omsp_clock_module". [INFO :CP0303] rtl/omsp_dbg.v:46 Compile module "work@omsp_dbg". [INFO :CP0303] rtl/omsp_dbg_hwbrk.v:46 Compile module "work@omsp_dbg_hwbrk". +[INFO :CP0303] rtl/omsp_frontend.v:46 Compile module "work@omsp_frontend". + +[INFO :CP0303] rtl/omsp_dbg_i2c.v:46 Compile module "work@omsp_dbg_i2c". + +[INFO :CP0303] rtl/omsp_execution_unit.v:46 Compile module "work@omsp_execution_unit". + +[INFO :CP0303] rtl/omsp_mem_backbone.v:46 Compile module "work@omsp_mem_backbone". + +[INFO :CP0303] rtl/omsp_sfr.v:47 Compile module "work@omsp_sfr". + +[INFO :CP0303] rtl/omsp_register_file.v:46 Compile module "work@omsp_register_file". + +[INFO :CP0303] rtl/omsp_scan_mux.v:44 Compile module "work@omsp_scan_mux". + +[INFO :CP0303] rtl/omsp_watchdog.v:46 Compile module "work@omsp_watchdog". + +[INFO :CP0303] rtl/omsp_wakeup_cell.v:46 Compile module "work@omsp_wakeup_cell". + +[INFO :CP0303] rtl/omsp_sync_reset.v:44 Compile module "work@omsp_sync_reset". + +[INFO :CP0303] sim/bench.v:6 Compile module "work@testbench". + [INFO :CP0303] rtl/omsp_clock_mux.v:44 Compile module "work@omsp_clock_mux". [INFO :CP0303] rtl/omsp_dbg_uart.v:46 Compile module "work@omsp_dbg_uart". [INFO :CP0303] rtl/omsp_multiplier.v:46 Compile module "work@omsp_multiplier". -[INFO :CP0303] rtl/omsp_dbg_i2c.v:46 Compile module "work@omsp_dbg_i2c". - [INFO :CP0303] rtl/omsp_sync_cell.v:44 Compile module "work@omsp_sync_cell". -[INFO :CP0303] rtl/omsp_execution_unit.v:46 Compile module "work@omsp_execution_unit". - [INFO :CP0303] rtl/openMSP430.v:46 Compile module "work@openMSP430". -[INFO :CP0303] rtl/omsp_mem_backbone.v:46 Compile module "work@omsp_mem_backbone". - -[INFO :CP0303] rtl/omsp_register_file.v:46 Compile module "work@omsp_register_file". - -[INFO :CP0303] rtl/omsp_sfr.v:47 Compile module "work@omsp_sfr". - -[INFO :CP0303] rtl/omsp_watchdog.v:46 Compile module "work@omsp_watchdog". - -[INFO :CP0303] rtl/omsp_sync_reset.v:44 Compile module "work@omsp_sync_reset". - -[INFO :CP0303] sim/bench.v:6 Compile module "work@testbench". - -[INFO :CP0303] rtl/omsp_frontend.v:46 Compile module "work@omsp_frontend". - -[INFO :CP0303] rtl/omsp_scan_mux.v:44 Compile module "work@omsp_scan_mux". - -[INFO :CP0303] rtl/omsp_wakeup_cell.v:46 Compile module "work@omsp_wakeup_cell". - [NOTE :CP0309] rtl/omsp_alu.v:49 Implicit port type (wire) for "alu_out", there are 3 more instances of this message. @@ -225,6 +225,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -14.35user 0.50system 0:05.21elapsed 285%CPU (0avgtext+0avgdata 254240maxresident)k -0inputs+2872outputs (0major+63342minor)pagefaults 0swaps +15.74user 0.49system 0:06.19elapsed 261%CPU (0avgtext+0avgdata 253968maxresident)k +824inputs+2872outputs (0major+62525minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysBigSim/reed_solomon_decoder/YosysBigSimReed_diff.log b/src/Testcases/YosysBigSim/reed_solomon_decoder/YosysBigSimReed_diff.log index 2bf936b..4dc59b1 100644 --- a/src/Testcases/YosysBigSim/reed_solomon_decoder/YosysBigSimReed_diff.log +++ b/src/Testcases/YosysBigSim/reed_solomon_decoder/YosysBigSimReed_diff.log
@@ -18,16 +18,16 @@ [WARNI:PA0205] rtl/GF_mult_add_syndromes.v:28 No timescale set for "GF_mult_add_syndromes". -[WARNI:PA0205] rtl/input_syndromes.v:24 No timescale set for "input_syndromes". - [WARNI:PA0205] rtl/RS_dec.v:21 No timescale set for "RS_dec". +[WARNI:PA0205] rtl/input_syndromes.v:24 No timescale set for "input_syndromes". + [WARNI:PA0205] rtl/Omega_Phy.v:21 No timescale set for "Omega_Phy". -[WARNI:PA0205] rtl/transport_in2out.v:22 No timescale set for "transport_in2out". - [WARNI:PA0205] rtl/out_stage.v:21 No timescale set for "out_stage". +[WARNI:PA0205] rtl/transport_in2out.v:22 No timescale set for "transport_in2out". + [WARNI:PA0205] rtl/error_correction.v:20 No timescale set for "error_correction". [WARNI:PA0205] rtl/lamda_roots.v:21 No timescale set for "lamda_roots". @@ -38,14 +38,14 @@ [INFO :CP0303] rtl/DP_RAM.v:18 Compile module "work@DP_RAM". -[INFO :CP0303] rtl/GF_matrix_ascending_binary.v:20 Compile module "work@GF_matrix_ascending_binary". - [INFO :CP0303] rtl/Omega_Phy.v:21 Compile module "work@Omega_Phy". -[INFO :CP0303] rtl/RS_dec.v:21 Compile module "work@RS_dec". - [INFO :CP0303] rtl/lamda_roots.v:21 Compile module "work@lamda_roots". +[INFO :CP0303] rtl/GF_matrix_ascending_binary.v:20 Compile module "work@GF_matrix_ascending_binary". + +[INFO :CP0303] rtl/RS_dec.v:21 Compile module "work@RS_dec". + [INFO :CP0303] rtl/out_stage.v:21 Compile module "work@out_stage". [INFO :CP0303] rtl/GF_matrix_dec.v:21 Compile module "work@GF_matrix_dec". @@ -105,6 +105,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -6.30user 0.10system 0:02.04elapsed 313%CPU (0avgtext+0avgdata 115124maxresident)k -568inputs+328outputs (2major+27989minor)pagefaults 0swaps +7.98user 0.19system 0:02.72elapsed 300%CPU (0avgtext+0avgdata 114556maxresident)k +568inputs+328outputs (2major+28104minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysBigSim/softusb_navre/YosysBigSimSoft.log b/src/Testcases/YosysBigSim/softusb_navre/YosysBigSimSoft.log index e1e987e..307ec08 100644 --- a/src/Testcases/YosysBigSim/softusb_navre/YosysBigSimSoft.log +++ b/src/Testcases/YosysBigSim/softusb_navre/YosysBigSimSoft.log
@@ -42,7 +42,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.65user 0.06system 0:03.39elapsed 139%CPU (0avgtext+0avgdata 110328maxresident)k -0inputs+120outputs (0major+26493minor)pagefaults 0swaps +4.25user 0.04system 0:03.16elapsed 135%CPU (0avgtext+0avgdata 109584maxresident)k +64inputs+120outputs (0major+26538minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysBigSim/softusb_navre/YosysBigSimSoft_diff.log b/src/Testcases/YosysBigSim/softusb_navre/YosysBigSimSoft_diff.log index d3a9fab..80cd573 100644 --- a/src/Testcases/YosysBigSim/softusb_navre/YosysBigSimSoft_diff.log +++ b/src/Testcases/YosysBigSim/softusb_navre/YosysBigSimSoft_diff.log
@@ -42,6 +42,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.65user 0.06system 0:03.39elapsed 139%CPU (0avgtext+0avgdata 110328maxresident)k -0inputs+120outputs (0major+26493minor)pagefaults 0swaps +3.72user 0.04system 0:02.80elapsed 134%CPU (0avgtext+0avgdata 110064maxresident)k +64inputs+120outputs (0major+26539minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysBigSim/verilog-pong/YosysBigSimPong.log b/src/Testcases/YosysBigSim/verilog-pong/YosysBigSimPong.log index 325987a..29bf759 100644 --- a/src/Testcases/YosysBigSim/verilog-pong/YosysBigSimPong.log +++ b/src/Testcases/YosysBigSim/verilog-pong/YosysBigSimPong.log
@@ -28,12 +28,12 @@ [INFO :CP0303] sim/bench.v:7 Compile module "work@testbench". +[INFO :CP0303] rtl/text_graph.v:1 Compile module "work@text_graph". + [INFO :CP0303] rtl/vga_sync.v:1 Compile module "work@vga_sync". [INFO :CP0303] rtl/top.v:2 Compile module "work@top". -[INFO :CP0303] rtl/text_graph.v:1 Compile module "work@text_graph". - [NOTE :CP0309] rtl/top.v:6 Implicit port type (wire) for "vsync". [NOTE :CP0309] rtl/pong_graph.v:8 Implicit port type (wire) for "hit_left", @@ -66,7 +66,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -5.21user 0.14system 0:02.76elapsed 193%CPU (0avgtext+0avgdata 132012maxresident)k -440inputs+832outputs (0major+32257minor)pagefaults 0swaps +4.85user 0.19system 0:02.46elapsed 205%CPU (0avgtext+0avgdata 131172maxresident)k +440inputs+832outputs (0major+32248minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysBigSim/verilog-pong/YosysBigSimPong_diff.log b/src/Testcases/YosysBigSim/verilog-pong/YosysBigSimPong_diff.log index 43cadb4..0db5410 100644 --- a/src/Testcases/YosysBigSim/verilog-pong/YosysBigSimPong_diff.log +++ b/src/Testcases/YosysBigSim/verilog-pong/YosysBigSimPong_diff.log
@@ -10,7 +10,7 @@ [WARNI:PP0103] sim/bench.v:5 Undefining an unknown macro "WRITE_FRAMES_PPM". -[WARNI:PA0205] rtl/front_rom.v:1 No timescale set for "font_rom". +[WARNI:PA0205] rtl/data.v:1 No timescale set for "font_rom". [WARNI:PA0205] rtl/text_graph.v:1 No timescale set for "text_graph". @@ -22,18 +22,18 @@ [INFO :CP0303] rtl/debounce.v:2 Compile module "work@debounce". -[INFO :CP0303] rtl/front_rom.v:1 Compile module "work@font_rom". - [INFO :CP0303] rtl/pong_graph.v:2 Compile module "work@pong_graph". [INFO :CP0303] sim/bench.v:7 Compile module "work@testbench". +[INFO :CP0303] rtl/data.v:1 Compile module "work@font_rom". + +[INFO :CP0303] rtl/text_graph.v:1 Compile module "work@text_graph". + [INFO :CP0303] rtl/vga_sync.v:1 Compile module "work@vga_sync". [INFO :CP0303] rtl/top.v:2 Compile module "work@top". -[INFO :CP0303] rtl/text_graph.v:1 Compile module "work@text_graph". - [NOTE :CP0309] rtl/top.v:6 Implicit port type (wire) for "vsync". [NOTE :CP0309] rtl/pong_graph.v:8 Implicit port type (wire) for "hit_left", @@ -46,8 +46,8 @@ [NOTE :EL0503] sim/bench.v:7 Top level module "work@testbench". -[WARNI:EL0505] rtl/data.v:1 Multiply defined module "work@font_rom", - rtl/front_rom.v:1 previous definition. +[WARNI:EL0505] rtl/front_rom.v:1 Multiply defined module "work@font_rom", + rtl/data.v:1 previous definition. [NOTE :EL0508] Nb Top level modules: 1. @@ -66,6 +66,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -5.21user 0.14system 0:02.76elapsed 193%CPU (0avgtext+0avgdata 132012maxresident)k -440inputs+832outputs (0major+32257minor)pagefaults 0swaps +6.53user 0.18system 0:03.43elapsed 195%CPU (0avgtext+0avgdata 131024maxresident)k +440inputs+832outputs (0major+32433minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysCam/YosysCam.log b/src/Testcases/YosysCam/YosysCam.log index b14a5ea..44d8096 100644 --- a/src/Testcases/YosysCam/YosysCam.log +++ b/src/Testcases/YosysCam/YosysCam.log
@@ -51,7 +51,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -1.99user 0.02system 0:02.02elapsed 99%CPU (0avgtext+0avgdata 58980maxresident)k -0inputs+656outputs (0major+13428minor)pagefaults 0swaps +2.31user 0.01system 0:02.34elapsed 99%CPU (0avgtext+0avgdata 58580maxresident)k +64inputs+656outputs (0major+13419minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysDsp/YosysDsp.log b/src/Testcases/YosysDsp/YosysDsp.log index da6c925..28fea15 100644 --- a/src/Testcases/YosysDsp/YosysDsp.log +++ b/src/Testcases/YosysDsp/YosysDsp.log
@@ -154,7 +154,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.63user 0.04system 0:04.69elapsed 99%CPU (0avgtext+0avgdata 113480maxresident)k -0inputs+1984outputs (0major+27209minor)pagefaults 0swaps +4.44user 0.02system 0:04.47elapsed 99%CPU (0avgtext+0avgdata 113152maxresident)k +272inputs+1984outputs (0major+27167minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysMarlann/YosysMarlann.log b/src/Testcases/YosysMarlann/YosysMarlann.log index 95586f6..cda944d 100644 --- a/src/Testcases/YosysMarlann/YosysMarlann.log +++ b/src/Testcases/YosysMarlann/YosysMarlann.log
@@ -48,7 +48,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -2.44user 0.01system 0:02.46elapsed 99%CPU (0avgtext+0avgdata 62736maxresident)k -32inputs+520outputs (0major+14832minor)pagefaults 0swaps +2.79user 0.01system 0:02.81elapsed 99%CPU (0avgtext+0avgdata 62540maxresident)k +32inputs+520outputs (0major+14828minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysOldTests/YosysOldI2c.log b/src/Testcases/YosysOldTests/YosysOldI2c.log index 8d60d04..71db262 100644 --- a/src/Testcases/YosysOldTests/YosysOldI2c.log +++ b/src/Testcases/YosysOldTests/YosysOldI2c.log
@@ -44,35 +44,35 @@ [INFO :CP0303] scripts/sim_stdcells.v:34 Compile module "work@$_AND_". -[INFO :CP0303] scripts/sim_stdcells.v:90 Compile module "work@$_DFF_NN1_". - [INFO :CP0303] scripts/sim_stdcells.v:79 Compile module "work@$_DFF_NN0_". [INFO :CP0303] scripts/sim_stdcells.v:112 Compile module "work@$_DFF_NP1_". -[INFO :CP0303] scripts/sim_stdcells.v:101 Compile module "work@$_DFF_NP0_". - -[INFO :CP0303] scripts/sim_stdcells.v:123 Compile module "work@$_DFF_PN0_". - [INFO :CP0303] scripts/sim_stdcells.v:63 Compile module "work@$_DFF_N_". [INFO :CP0303] scripts/sim_stdcells.v:145 Compile module "work@$_DFF_PP0_". -[INFO :CP0303] scripts/sim_stdcells.v:134 Compile module "work@$_DFF_PN1_". - -[INFO :CP0303] scripts/sim_stdcells.v:71 Compile module "work@$_DFF_P_". - [INFO :CP0303] scripts/sim_stdcells.v:156 Compile module "work@$_DFF_PP1_". -[INFO :CP0303] scripts/sim_stdcells.v:46 Compile module "work@$_XOR_". - -[INFO :CP0303] scripts/sim_stdcells.v:28 Compile module "work@$_INV_". - [INFO :CP0303] scripts/sim_stdcells.v:52 Compile module "work@$_MUX_". +[INFO :CP0303] scripts/sim_stdcells.v:40 Compile module "work@$_OR_". + +[INFO :CP0303] scripts/sim_stdcells.v:101 Compile module "work@$_DFF_NP0_". + +[INFO :CP0303] scripts/sim_stdcells.v:134 Compile module "work@$_DFF_PN1_". + +[INFO :CP0303] scripts/sim_stdcells.v:28 Compile module "work@$_INV_". + [INFO :CP0303] scripts/sim_mul.v:2 Compile module "work@$mul". -[INFO :CP0303] scripts/sim_stdcells.v:40 Compile module "work@$_OR_". +[INFO :CP0303] scripts/sim_stdcells.v:90 Compile module "work@$_DFF_NN1_". + +[INFO :CP0303] scripts/sim_stdcells.v:123 Compile module "work@$_DFF_PN0_". + +[INFO :CP0303] scripts/sim_stdcells.v:71 Compile module "work@$_DFF_P_". + +[INFO :CP0303] scripts/sim_stdcells.v:46 Compile module "work@$_XOR_". [NOTE :CP0309] scripts/sim_stdcells.v:34 Implicit port type (wire) for "Y". @@ -137,7 +137,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -0.92user 0.02system 0:00.55elapsed 169%CPU (0avgtext+0avgdata 40836maxresident)k -0inputs+32outputs (0major+8646minor)pagefaults 0swaps +1.26user 0.02system 0:00.73elapsed 175%CPU (0avgtext+0avgdata 40268maxresident)k +16inputs+32outputs (0major+8644minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysOldTests/aes_core/YosysOldAes.log b/src/Testcases/YosysOldTests/aes_core/YosysOldAes.log index a4e9b8d..9a9671e 100644 --- a/src/Testcases/YosysOldTests/aes_core/YosysOldAes.log +++ b/src/Testcases/YosysOldTests/aes_core/YosysOldAes.log
@@ -28,19 +28,19 @@ [WARNI:PA0205] cache/synth.v:4913 No timescale set for "aes_sbox". -[WARNI:PA0205] timescale.v:2 No timescale set for "aes_inv_cipher_top". +[WARNI:PA0205] rtl/aes_inv_cipher_top.v:61 No timescale set for "aes_inv_cipher_top". -[WARNI:PA0205] timescale.v:2 No timescale set for "aes_inv_sbox". +[WARNI:PA0205] rtl/aes_inv_sbox.v:61 No timescale set for "aes_inv_sbox". [INFO :CP0300] Compilation... -[INFO :CP0303] timescale.v:2 Compile module "work@aes_inv_cipher_top". - -[INFO :CP0303] cache/synth.v:3293 Compile module "work@aes_key_expand_128". +[INFO :CP0303] rtl/aes_inv_sbox.v:61 Compile module "work@aes_inv_sbox". [INFO :CP0303] cache/synth.v:1 Compile module "work@aes_cipher_top". -[INFO :CP0303] timescale.v:2 Compile module "work@aes_inv_sbox". +[INFO :CP0303] rtl/aes_inv_cipher_top.v:61 Compile module "work@aes_inv_cipher_top". + +[INFO :CP0303] cache/synth.v:3293 Compile module "work@aes_key_expand_128". [INFO :CP0303] cache/synth.v:4913 Compile module "work@aes_sbox". @@ -56,7 +56,7 @@ [NOTE :EL0503] cache/synth.v:1 Top level module "work@aes_cipher_top". -[NOTE :EL0503] timescale.v:2 Top level module "work@aes_inv_cipher_top". +[NOTE :EL0503] rtl/aes_inv_cipher_top.v:61 Top level module "work@aes_inv_cipher_top". [NOTE :EL0504] Multiple top level modules in design. @@ -77,7 +77,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.69user 0.18system 0:03.03elapsed 160%CPU (0avgtext+0avgdata 183656maxresident)k -0inputs+1112outputs (0major+45939minor)pagefaults 0swaps +4.92user 0.22system 0:03.08elapsed 166%CPU (0avgtext+0avgdata 184164maxresident)k +608inputs+1112outputs (0major+46170minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysOldTests/aes_core/YosysOldAes_diff.log b/src/Testcases/YosysOldTests/aes_core/YosysOldAes_diff.log index 4a11715..4722bf5 100644 --- a/src/Testcases/YosysOldTests/aes_core/YosysOldAes_diff.log +++ b/src/Testcases/YosysOldTests/aes_core/YosysOldAes_diff.log
@@ -28,19 +28,19 @@ [WARNI:PA0205] cache/synth.v:4913 No timescale set for "aes_sbox". -[WARNI:PA0205] timescale.v:2 No timescale set for "aes_inv_cipher_top". +[WARNI:PA0205] rtl/aes_inv_cipher_top.v:61 No timescale set for "aes_inv_cipher_top". -[WARNI:PA0205] timescale.v:2 No timescale set for "aes_inv_sbox". +[WARNI:PA0205] rtl/aes_inv_sbox.v:61 No timescale set for "aes_inv_sbox". [INFO :CP0300] Compilation... -[INFO :CP0303] timescale.v:2 Compile module "work@aes_inv_cipher_top". - -[INFO :CP0303] cache/synth.v:3293 Compile module "work@aes_key_expand_128". - [INFO :CP0303] cache/synth.v:1 Compile module "work@aes_cipher_top". -[INFO :CP0303] timescale.v:2 Compile module "work@aes_inv_sbox". +[INFO :CP0303] rtl/aes_inv_cipher_top.v:61 Compile module "work@aes_inv_cipher_top". + +[INFO :CP0303] rtl/aes_inv_sbox.v:61 Compile module "work@aes_inv_sbox". + +[INFO :CP0303] cache/synth.v:3293 Compile module "work@aes_key_expand_128". [INFO :CP0303] cache/synth.v:4913 Compile module "work@aes_sbox". @@ -56,7 +56,7 @@ [NOTE :EL0503] cache/synth.v:1 Top level module "work@aes_cipher_top". -[NOTE :EL0503] timescale.v:2 Top level module "work@aes_inv_cipher_top". +[NOTE :EL0503] rtl/aes_inv_cipher_top.v:61 Top level module "work@aes_inv_cipher_top". [NOTE :EL0504] Multiple top level modules in design. @@ -77,6 +77,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.69user 0.18system 0:03.03elapsed 160%CPU (0avgtext+0avgdata 183656maxresident)k -0inputs+1112outputs (0major+45939minor)pagefaults 0swaps +5.92user 0.23system 0:03.88elapsed 158%CPU (0avgtext+0avgdata 183212maxresident)k +608inputs+1112outputs (0major+46001minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysOldTests/openmsp430/YosysOldOpen_diff.log b/src/Testcases/YosysOldTests/openmsp430/YosysOldOpen_diff.log index 1647bf9..3cc6971 100644 --- a/src/Testcases/YosysOldTests/openmsp430/YosysOldOpen_diff.log +++ b/src/Testcases/YosysOldTests/openmsp430/YosysOldOpen_diff.log
@@ -177,6 +177,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -5.96user 0.04system 0:06.01elapsed 99%CPU (0avgtext+0avgdata 164180maxresident)k -0inputs+6144outputs (0major+44611minor)pagefaults 0swaps +8.68user 0.09system 0:08.78elapsed 99%CPU (0avgtext+0avgdata 163616maxresident)k +728inputs+6144outputs (0major+44700minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysOldTests/or1200/YosysOldOr.log b/src/Testcases/YosysOldTests/or1200/YosysOldOr.log index 32a942b..657ca1a 100644 --- a/src/Testcases/YosysOldTests/or1200/YosysOldOr.log +++ b/src/Testcases/YosysOldTests/or1200/YosysOldOr.log
@@ -513,7 +513,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -11.95user 0.22system 0:12.19elapsed 99%CPU (0avgtext+0avgdata 512864maxresident)k -0inputs+34576outputs (0major+134897minor)pagefaults 0swaps +12.45user 0.23system 0:12.71elapsed 99%CPU (0avgtext+0avgdata 512772maxresident)k +2560inputs+34576outputs (0major+134880minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysOldTests/or1200/YosysOldOr_diff.log b/src/Testcases/YosysOldTests/or1200/YosysOldOr_diff.log index 83142f3..7cd8e4b 100644 --- a/src/Testcases/YosysOldTests/or1200/YosysOldOr_diff.log +++ b/src/Testcases/YosysOldTests/or1200/YosysOldOr_diff.log
@@ -513,6 +513,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -11.95user 0.22system 0:12.19elapsed 99%CPU (0avgtext+0avgdata 512864maxresident)k -0inputs+34576outputs (0major+134897minor)pagefaults 0swaps +15.03user 0.21system 0:15.27elapsed 99%CPU (0avgtext+0avgdata 512592maxresident)k +2560inputs+34576outputs (0major+134854minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysOldTests/sasc/YosysOldSasc_diff.log b/src/Testcases/YosysOldTests/sasc/YosysOldSasc_diff.log index a178ec3..d3bcda8 100644 --- a/src/Testcases/YosysOldTests/sasc/YosysOldSasc_diff.log +++ b/src/Testcases/YosysOldTests/sasc/YosysOldSasc_diff.log
@@ -18,16 +18,16 @@ [WARNI:PA0205] cache/synth.v:282 No timescale set for "sasc_top". -[WARNI:PA0205] timescale.v:22 No timescale set for "sasc_brg". +[WARNI:PA0205] rtl/sasc_brg.v:87 No timescale set for "sasc_brg". [INFO :CP0300] Compilation... -[INFO :CP0303] timescale.v:22 Compile module "work@sasc_brg". +[INFO :CP0303] cache/synth.v:282 Compile module "work@sasc_top". + +[INFO :CP0303] rtl/sasc_brg.v:87 Compile module "work@sasc_brg". [INFO :CP0303] cache/synth.v:1 Compile module "work@sasc_fifo4". -[INFO :CP0303] cache/synth.v:282 Compile module "work@sasc_top". - [NOTE :CP0309] cache/synth.v:1 Implicit port type (wire) for "dout", there are 2 more instances of this message. @@ -38,7 +38,7 @@ [NOTE :EL0503] cache/synth.v:282 Top level module "work@sasc_top". -[NOTE :EL0503] timescale.v:22 Top level module "work@sasc_brg". +[NOTE :EL0503] rtl/sasc_brg.v:87 Top level module "work@sasc_brg". [NOTE :EL0504] Multiple top level modules in design. @@ -59,6 +59,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -3.85user 0.06system 0:01.77elapsed 221%CPU (0avgtext+0avgdata 66808maxresident)k -96inputs+152outputs (0major+15819minor)pagefaults 0swaps +5.72user 0.10system 0:02.40elapsed 242%CPU (0avgtext+0avgdata 66120maxresident)k +96inputs+152outputs (0major+15791minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysOldTests/simple_spi/YosysOldSimpleSpi.log b/src/Testcases/YosysOldTests/simple_spi/YosysOldSimpleSpi.log index 4ea7e22..1faae13 100644 --- a/src/Testcases/YosysOldTests/simple_spi/YosysOldSimpleSpi.log +++ b/src/Testcases/YosysOldTests/simple_spi/YosysOldSimpleSpi.log
@@ -16,20 +16,20 @@ [WARNI:PA0205] cache/synth.v:282 No timescale set for "simple_spi_top". -[WARNI:PA0205] timescale.v:5 No timescale set for "fifo4". +[WARNI:PA0205] rtl/fifo4.v:61 No timescale set for "fifo4". [INFO :CP0300] Compilation... [INFO :CP0303] cache/synth.v:1 Compile module "work@$paramod\fifo4\dw=8". -[INFO :CP0303] timescale.v:5 Compile module "work@fifo4". +[INFO :CP0303] rtl/fifo4.v:61 Compile module "work@fifo4". [INFO :CP0303] cache/synth.v:282 Compile module "work@simple_spi_top". [NOTE :CP0309] cache/synth.v:1 Implicit port type (wire) for "dout", there are 2 more instances of this message. -[NOTE :CP0309] timescale.v:5 Implicit port type (wire) for "dout", +[NOTE :CP0309] rtl/fifo4.v:61 Implicit port type (wire) for "dout", there are 2 more instances of this message. [INFO :EL0526] Design Elaboration... @@ -65,7 +65,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.28user 0.04system 0:01.74elapsed 248%CPU (0avgtext+0avgdata 78532maxresident)k -0inputs+184outputs (0major+18783minor)pagefaults 0swaps +3.89user 0.04system 0:01.48elapsed 265%CPU (0avgtext+0avgdata 78400maxresident)k +104inputs+184outputs (0major+18778minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysOldTests/simple_spi/YosysOldSimpleSpi_diff.log b/src/Testcases/YosysOldTests/simple_spi/YosysOldSimpleSpi_diff.log index e38c099..f511f6b 100644 --- a/src/Testcases/YosysOldTests/simple_spi/YosysOldSimpleSpi_diff.log +++ b/src/Testcases/YosysOldTests/simple_spi/YosysOldSimpleSpi_diff.log
@@ -65,6 +65,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.28user 0.04system 0:01.74elapsed 248%CPU (0avgtext+0avgdata 78532maxresident)k -0inputs+184outputs (0major+18783minor)pagefaults 0swaps +4.35user 0.09system 0:02.51elapsed 176%CPU (0avgtext+0avgdata 83256maxresident)k +104inputs+184outputs (0major+20660minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysOldTests/spi/YosysOldSpi_diff.log b/src/Testcases/YosysOldTests/spi/YosysOldSpi_diff.log index 31e8de6..b3d7d8e 100644 --- a/src/Testcases/YosysOldTests/spi/YosysOldSpi_diff.log +++ b/src/Testcases/YosysOldTests/spi/YosysOldSpi_diff.log
@@ -273,6 +273,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -4.24user 0.12system 0:01.89elapsed 229%CPU (0avgtext+0avgdata 126136maxresident)k -392inputs+704outputs (0major+31480minor)pagefaults 0swaps +7.22user 0.14system 0:03.43elapsed 214%CPU (0avgtext+0avgdata 127036maxresident)k +392inputs+704outputs (0major+31778minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysOldTests/ss_pcm/YosysOldSsPcm_diff.log b/src/Testcases/YosysOldTests/ss_pcm/YosysOldSsPcm_diff.log index 6a1f0ed..9319705 100644 --- a/src/Testcases/YosysOldTests/ss_pcm/YosysOldSsPcm_diff.log +++ b/src/Testcases/YosysOldTests/ss_pcm/YosysOldSsPcm_diff.log
@@ -22,7 +22,7 @@ [NOTE :EL0503] cache/synth.v:1 Top level module "work@pcm_slv_top". -[WARNI:EL0505] timescale.v:11 Multiply defined module "work@pcm_slv_top", +[WARNI:EL0505] rtl/pcm_slv_top.v:75 Multiply defined module "work@pcm_slv_top", cache/synth.v:1 previous definition. [NOTE :EL0508] Nb Top level modules: 1. @@ -42,6 +42,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -1.48user 0.02system 0:01.05elapsed 142%CPU (0avgtext+0avgdata 48264maxresident)k -0inputs+112outputs (0major+10595minor)pagefaults 0swaps +1.61user 0.02system 0:01.14elapsed 143%CPU (0avgtext+0avgdata 47776maxresident)k +64inputs+112outputs (0major+10585minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysOldTests/systemcaes/YosysOldSystem.log b/src/Testcases/YosysOldTests/systemcaes/YosysOldSystem.log index 0d17fad..ab05d0b 100644 --- a/src/Testcases/YosysOldTests/systemcaes/YosysOldSystem.log +++ b/src/Testcases/YosysOldTests/systemcaes/YosysOldSystem.log
@@ -26,17 +26,17 @@ [INFO :CP0303] cache/synth.v:1 Compile module "work@aes". +[INFO :CP0303] cache/synth.v:6906 Compile module "work@keysched". + [INFO :CP0303] cache/synth.v:6759 Compile module "work@byte_mixcolum". [INFO :CP0303] cache/synth.v:12581 Compile module "work@subbytes". -[INFO :CP0303] cache/synth.v:12017 Compile module "work@sbox". +[INFO :CP0303] cache/synth.v:15275 Compile module "work@word_mixcolum". [INFO :CP0303] cache/synth.v:9037 Compile module "work@mixcolum". -[INFO :CP0303] cache/synth.v:6906 Compile module "work@keysched". - -[INFO :CP0303] cache/synth.v:15275 Compile module "work@word_mixcolum". +[INFO :CP0303] cache/synth.v:12017 Compile module "work@sbox". [NOTE :CP0309] cache/synth.v:1 Implicit port type (wire) for "data_o". @@ -75,7 +75,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -7.33user 0.30system 0:03.68elapsed 207%CPU (0avgtext+0avgdata 270204maxresident)k -1080inputs+2056outputs (0major+69633minor)pagefaults 0swaps +7.42user 0.32system 0:03.67elapsed 210%CPU (0avgtext+0avgdata 269692maxresident)k +1080inputs+2064outputs (0major+69565minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysOldTests/systemcaes/YosysOldSystem_diff.log b/src/Testcases/YosysOldTests/systemcaes/YosysOldSystem_diff.log index f4dfdb3..2f64521 100644 --- a/src/Testcases/YosysOldTests/systemcaes/YosysOldSystem_diff.log +++ b/src/Testcases/YosysOldTests/systemcaes/YosysOldSystem_diff.log
@@ -28,15 +28,15 @@ [INFO :CP0303] cache/synth.v:6759 Compile module "work@byte_mixcolum". +[INFO :CP0303] cache/synth.v:6906 Compile module "work@keysched". + [INFO :CP0303] cache/synth.v:12581 Compile module "work@subbytes". -[INFO :CP0303] cache/synth.v:12017 Compile module "work@sbox". +[INFO :CP0303] cache/synth.v:15275 Compile module "work@word_mixcolum". [INFO :CP0303] cache/synth.v:9037 Compile module "work@mixcolum". -[INFO :CP0303] cache/synth.v:6906 Compile module "work@keysched". - -[INFO :CP0303] cache/synth.v:15275 Compile module "work@word_mixcolum". +[INFO :CP0303] cache/synth.v:12017 Compile module "work@sbox". [NOTE :CP0309] cache/synth.v:1 Implicit port type (wire) for "data_o". @@ -75,6 +75,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -7.33user 0.30system 0:03.68elapsed 207%CPU (0avgtext+0avgdata 270204maxresident)k -1080inputs+2056outputs (0major+69633minor)pagefaults 0swaps +6.10user 0.27system 0:03.06elapsed 208%CPU (0avgtext+0avgdata 268428maxresident)k +1080inputs+2056outputs (0major+69270minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysOldTests/usb_phy/YosysOldUsb.log b/src/Testcases/YosysOldTests/usb_phy/YosysOldUsb.log index a9e16f8..7d29416 100644 --- a/src/Testcases/YosysOldTests/usb_phy/YosysOldUsb.log +++ b/src/Testcases/YosysOldTests/usb_phy/YosysOldUsb.log
@@ -54,7 +54,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -3.97user 0.09system 0:01.56elapsed 260%CPU (0avgtext+0avgdata 71820maxresident)k -0inputs+208outputs (0major+16739minor)pagefaults 0swaps +4.47user 0.05system 0:01.70elapsed 264%CPU (0avgtext+0avgdata 71764maxresident)k +128inputs+208outputs (0major+16815minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysOldTests/usb_phy/YosysOldUsb_diff.log b/src/Testcases/YosysOldTests/usb_phy/YosysOldUsb_diff.log index baeb49c..11efeb1 100644 --- a/src/Testcases/YosysOldTests/usb_phy/YosysOldUsb_diff.log +++ b/src/Testcases/YosysOldTests/usb_phy/YosysOldUsb_diff.log
@@ -22,12 +22,12 @@ [INFO :CP0300] Compilation... -[INFO :CP0303] cache/synth.v:1 Compile module "work@usb_phy". - [INFO :CP0303] cache/synth.v:109 Compile module "work@usb_rx_phy". [INFO :CP0303] cache/synth.v:645 Compile module "work@usb_tx_phy". +[INFO :CP0303] cache/synth.v:1 Compile module "work@usb_phy". + [NOTE :CP0309] cache/synth.v:1 Implicit port type (wire) for "txdp", there are 8 more instances of this message. @@ -54,6 +54,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -3.97user 0.09system 0:01.56elapsed 260%CPU (0avgtext+0avgdata 71820maxresident)k -0inputs+208outputs (0major+16739minor)pagefaults 0swaps +7.68user 0.16system 0:03.07elapsed 255%CPU (0avgtext+0avgdata 72244maxresident)k +128inputs+208outputs (0major+17032minor)pagefaults 0swaps sh: 2: -mt: not found
diff --git a/src/Testcases/YosysSmall/YosysSmall.log b/src/Testcases/YosysSmall/YosysSmall.log index fa172bc..9ff4005 100644 --- a/src/Testcases/YosysSmall/YosysSmall.log +++ b/src/Testcases/YosysSmall/YosysSmall.log
@@ -69,7 +69,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -2.79user 0.02system 0:02.81elapsed 99%CPU (0avgtext+0avgdata 45980maxresident)k -0inputs+608outputs (0major+10156minor)pagefaults 0swaps +2.60user 0.03system 0:02.63elapsed 99%CPU (0avgtext+0avgdata 45652maxresident)k +72inputs+608outputs (0major+10153minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/YosysVerx/YosysVerx.log b/src/Testcases/YosysVerx/YosysVerx.log index 403adbd..aac1330 100644 --- a/src/Testcases/YosysVerx/YosysVerx.log +++ b/src/Testcases/YosysVerx/YosysVerx.log
@@ -56,7 +56,6 @@ * End SURELOG SVerilog Compiler/Linter * ******************************************** -8.40user 0.09system 0:08.50elapsed 99%CPU (0avgtext+0avgdata 234712maxresident)k -0inputs+6152outputs (0major+58774minor)pagefaults 0swaps +8.50user 0.08system 0:08.59elapsed 99%CPU (0avgtext+0avgdata 234648maxresident)k +576inputs+6152outputs (0major+58765minor)pagefaults 0swaps sh: 2: -mt: not found -
diff --git a/src/Testcases/regression.log b/src/Testcases/regression.log index a35c6c4..f87af65 100644 --- a/src/Testcases/regression.log +++ b/src/Testcases/regression.log
@@ -2,7 +2,7 @@ ************************ START SURELOG REGRESSION -Starts on 11/14/2019 19:45:36 +Starts on 11/15/2019 18:22:31 COMMAND: /usr/bin/time /home/alain/Surelog/src/Testcases/../dist/surelog/surelog Creating release for regression... Skipping ovm_pkg... @@ -11,103 +11,102 @@ PASS: surelog_release_tcmalloc Run with mt=0 THERE ARE 103 tests -RUNNING 93 tests +RUNNING 92 tests +----------------------------+----------+----------+----------+----------+----------+----------+--------------+--------------+ | TESTNAME | STATUS | FATALS | ERRORS | WARNINGS | NOTES | SYNTAX | ELAPSED TIME | MEM(Mb) | +----------------------------+----------+----------+----------+----------+----------+----------+--------------+--------------+ -| UnitDefParam | PASS | 0 | 0 | 17 | 8 | 0 | 0s | 39 | -| Monitor | PASS | 0 | 0 | 11 | 7 | 0 | 20s | 265 | +| UnitDefParam | PASS | 0 | 0 | 17 | 8 | 0 | 1s (+1s) | 39 | +| Monitor | PASS | 0 | 0 | 11 | 7 | 0 | 22s (+2s) | 265 | | YosysSmall | PASS | 0 | 1 | 6 | 9 | 0 | 2s | 44 | -| UnitForLoop | PASS | 0 | 4 | 0 | 4 | 0 | 0s | 39 | -| SimpleVMM | PASS | 0 | 0 | 16 | 5 | 0 | 38s | 297 | +| UnitForLoop | PASS | 0 | 4 | 0 | 4 | 0 | 0s | 38 (-1) | +| SimpleVMM | PASS | 0 | 0 | 16 | 5 | 0 | 38s | 296 (-1) | | SimpleUVM | PASS | 0 | 0 | 11 | 7 | 0 | 2s | 98 | | YosysBigSimAes | PASS | 0 | 0 | 0 | 5 | 0 | 1s | 70 | | UnitPackage | PASS | 0 | 0 | 6 | 9 | 0 | 2s | 55 | | OldLibrary | PASS | 0 | 0 | 4 | 8 | 0 | 0s | 39 | -| SimpleCmdLineTest | PASS | 0 | 0 | 1 | 1 | 0 | 0s | 39 | +| SimpleCmdLineTest | PASS | 0 | 0 | 1 | 1 | 0 | 0s | 38 (-1) | | YosysBigSimSoft | PASS | 0 | 0 | 2 | 6 | 0 | 3s | 107 | -| TimeUnit | PASS | 0 | 8 | 10 | 7 | 0 | 0s | 46 | +| TimeUnit | PASS | 0 | 8 | 10 | 7 | 0 | 1s (+1s) | 46 | | RiscV | PASS | 0 | 0 | 10 | 19 | 0 | 4s | 101 | | SimpleClass | PASS | 0 | 1 | 2 | 6 | 0 | 0s | 39 | -| UnitAmiqEth | PASS | 0 | 0 | 7 | 4 | 0 | 7s | 132 | -| PackageHierRef | PASS | 0 | 2 | 8 | 9 | 0 | 0s | 39 | -| AmiqEth | PASS | 0 | 10 | 32 | 5 | 0 | 26s | 458 | -| SimpleInterface | PASS | 0 | 3 | 13 | 20 | 0 | 2s | 98 | +| UnitAmiqEth | PASS | 0 | 0 | 7 | 4 | 0 | 9s (+2s) | 132 | +| PackageHierRef | PASS | 0 | 2 | 8 | 9 | 0 | 0s | 38 (-1) | +| AmiqEth | PASS | 0 | 10 | 32 | 5 | 0 | 29s (-5s) | 458 | +| SimpleInterface | PASS | 0 | 3 | 13 | 20 | 0 | 3s (+1s) | 97 (-1) | | YosysOldI2c | PASS | 0 | 0 | 16 | 26 | 0 | 0s | 39 | -| Google | PASS | 0 | 169 | 83 | 114 | 39 | 16s | 698 | +| Google | PASS | 0 | 169 | 83 | 114 | 39 | 16s | 697 (-1) | | UnitLibrary | PASS | 0 | 2 | 16 | 31 | 0 | 0s | 39 | -| YosysDsp | PASS | 0 | 5 | 20 | 20 | 0 | 4s | 110 | -| Icarus | PASS | 0 | 10 | 264 | 160 | 4 | 18s | 676 | +| YosysDsp | PASS | 0 | 5 | 20 | 20 | 0 | 7s (+3s) | 110 | +| Icarus | PASS | 0 | 10 | 264 | 160 | 4 | 21s (+3s) | 675 (-1) | | SimpleConstraint | PASS | 0 | 0 | 2 | 4 | 0 | 1s | 47 | | UnitForeach | PASS | 0 | 7 | 0 | 4 | 0 | 0s | 41 | | Escape | PASS | 0 | 5 | 10 | 8 | 0 | 0s | 44 | -| Scoreboard | PASS | 0 | 0 | 11 | 7 | 0 | 3s | 110 | -| BuildOVMPkg | PASS | 0 | 0 | 16 | 5 | 0 | 63s | 822 | -| YosysOldSsPcm | PASS | 0 | 1 | 2 | 6 | 0 | 1s | 47 | +| Scoreboard | PASS | 0 | 0 | 11 | 7 | 0 | 3s | 109 (-1) | +| BuildOVMPkg | PASS | 0 | 0 | 16 | 5 | 0 | 70s (+7s) | 821 (-1) | +| YosysOldSsPcm | PASS | 0 | 1 | 2 | 6 | 0 | 1s | 46 (-1) | | YosysOldSimpleSpi | PASS | 0 | 2 | 7 | 9 | 0 | 1s | 76 | -| AVLMM | PASS | 0 | 4 | 4 | 5 | 0 | 5s | 84 | -| UnitEnum | PASS | 0 | 1 | 2 | 5 | 0 | 0s | 39 | +| AVLMM | PASS | 0 | 4 | 4 | 5 | 0 | 3s (-2s) | 84 | +| UnitEnum | PASS | 0 | 1 | 2 | 5 | 0 | 0s | 38 (-1) | | UnitQueue | PASS | 0 | 4 | 0 | 4 | 0 | 0s | 39 | -| TestMacros | PASS | 0 | 3 | 0 | 11 | 2 | 0s | 41 | -| ApbSlave | PASS | 0 | 0 | 1 | 7 | 0 | 3s | 62 | -| YosysOldOr | PASS | 0 | 0 | 0 | 117 | 0 | 12s | 500 | -| SimpleParserTest | PASS | 0 | 0 | 0 | 0 | 0 | 2s | 72 | +| TestMacros | PASS | 0 | 3 | 0 | 11 | 2 | 1s (+1s) | 41 | +| ApbSlave | PASS | 0 | 0 | 1 | 7 | 0 | 5s (+2s) | 62 | +| YosysOldOr | PASS | 0 | 0 | 0 | 117 | 0 | 15s (+3s) | 500 | +| SimpleParserTest | PASS | 0 | 0 | 0 | 0 | 0 | 3s (+1s) | 72 | | YosysCam | PASS | 0 | 0 | 0 | 7 | 0 | 2s | 57 | | ClassCons | PASS | 0 | 1 | 2 | 6 | 0 | 0s | 44 | | TestBasic | PASS | 0 | 0 | 0 | 0 | 0 | 0s | 39 | | SimpleOVM | PASS | 0 | 0 | 16 | 4 | 0 | 0s | 70 | -| AmiqSimpleTestSuite | PASS | 0 | 12 | 15 | 9 | 0 | 33s | 528 | -| YosysVerx | PASS | 0 | 0 | 3 | 8 | 0 | 8s | 229 | -| YosysBigSimOpenMsp | PASS | 0 | 7 | 33 | 33 | 1 | 5s | 248 | +| AmiqSimpleTestSuite | PASS | 0 | 12 | 15 | 9 | 0 | 44s (+11s) | 528 | +| YosysVerx | PASS | 0 | 0 | 3 | 8 | 0 | 11s (+3s) | 229 | +| YosysBigSimOpenMsp | PASS | 0 | 7 | 33 | 33 | 1 | 6s (+1s) | 248 | | TestFileSplit | PASS | 0 | 3 | 7 | 8 | 0 | 0s | 39 | -| SeqDriver | PASS | 0 | 0 | 11 | 7 | 0 | 4s | 117 | -| MiniAmiq | PASS | 0 | 0 | 11 | 6 | 0 | 12s | 252 | -| ClassFuncProto | PASS | 0 | 5 | 1 | 6 | 0 | 0s | 39 | +| SeqDriver | PASS | 0 | 0 | 11 | 7 | 0 | 5s (+1s) | 117 | +| MiniAmiq | PASS | 0 | 0 | 11 | 6 | 0 | 16s (+4s) | 251 (-1) | +| ClassFuncProto | PASS | 0 | 5 | 1 | 6 | 0 | 0s | 38 (-1) | | UnitClass | PASS | 0 | 8 | 1 | 6 | 0 | 0s | 39 | -| SimpleIncludeAndMacros | PASS | 0 | 32 | 10 | 26 | 6 | 0s | 45 | -| UnitSimpleIncludeAndMacros | PASS | 0 | 30 | 18 | 12 | 6 | 0s | 45 | -| YosysBigSimAmber23 | PASS | 0 | 3 | 17 | 22 | 1 | 3s | 215 | -| YosysOldAes | PASS | 0 | 6 | 6 | 10 | 0 | 3s | 179 | -| YosysOldUsb | PASS | 0 | 3 | 3 | 7 | 0 | 1s | 70 | -| YosysOldOpen | PASS | 0 | 0 | 20 | 31 | 0 | 6s | 160 | -| PragmaProtect | PASS | 0 | 1 | 1 | 6 | 0 | 0s | 42 | -| Custom_FIR_DMA | PASS | 0 | 7 | 54 | 102 | 0 | 8s | 433 | +| SimpleIncludeAndMacros | PASS | 0 | 32 | 10 | 26 | 6 | 1s (+1s) | 45 | +| UnitSimpleIncludeAndMacros | PASS | 0 | 30 | 18 | 12 | 6 | 1s (+1s) | 45 | +| YosysBigSimAmber23 | PASS | 0 | 3 | 17 | 22 | 1 | 4s (+1s) | 215 | +| YosysOldAes | PASS | 0 | 6 | 6 | 10 | 0 | 3s | 178 (-1) | +| YosysOldUsb | PASS | 0 | 3 | 3 | 7 | 0 | 3s (+2s) | 70 | +| YosysOldOpen | PASS | 0 | 0 | 20 | 31 | 0 | 8s (+2s) | 159 (-1) | +| PragmaProtect | PASS | 0 | 1 | 1 | 6 | 0 | 0s | 41 (-1) | +| Custom_FIR_DMA | PASS | 0 | 7 | 54 | 102 | 0 | 11s (+3s) | 432 (-1) | | UVMNestedSeq | PASS | 0 | 3 | 12 | 7 | 0 | 7s | 163 | -| YosysSmallBoom | PASS | 0 | 0 | 291 | 296 | 0 | 28s | 2602 | +| YosysSmallBoom | PASS | 0 | 0 | 291 | 296 | 0 | 27s (-1s) | 2776 (+174) | +| GoogleMT | PASS | 0 | 169 | 83 | 114 | 39 | 17s (+3s) | 697 | | InterfaceModPort | PASS | 0 | 0 | 2 | 15 | 0 | 1s | 46 | -| GoogleMT | PASS | 0 | 169 | 83 | 114 | 39 | 14s | 697 | -| Yosys | PASS | 0 | 10 | 457 | 0 | 10 | 12s | 369 | +| Yosys | PASS | 0 | 10 | 457 | 0 | 10 | 14s (+2s) | 369 | | UnitElabBlock | PASS | 0 | 0 | 3 | 14 | 0 | 0s | 39 | -| DiffSimpleIncludeAndMacros | PASS | 0 | 62 | 30 | 39 | 0 | 1s | 48 | -| Ibex | PASS | 0 | 0 | 10 | 10 | 0 | 25s | 505 | -| Verilator | PASS | 0 | 631 | 416 | 4 | 48 | 142s | 2005 | -| UnitTest | PASS | 0 | 0 | 0 | 4 | 0 | 0s | 39 | -| YosysBigSimLm32 | PASS | 0 | 12 | 20 | 24 | 0 | 6s | 296 | -| YosysOldSpi | PASS | 0 | 109 | 3 | 7 | 3 | 1s | 123 | -| YosysBigSimReed | PASS | 0 | 1 | 15 | 11 | 0 | 2s | 112 | +| DiffSimpleIncludeAndMacros | PASS | 0 | 62 | 30 | 39 | 0 | 1s | 47 (-1) | +| Ibex | PASS | 0 | 0 | 10 | 10 | 0 | 35s (+10s) | 504 (-1) | +| Verilator | PASS | 0 | 631 | 416 | 4 | 48 | 155s (+13s) | 2005 | +| UnitTest | PASS | 0 | 0 | 0 | 4 | 0 | 0s | 38 (-1) | +| YosysBigSimLm32 | PASS | 0 | 12 | 20 | 24 | 0 | 8s (+2s) | 296 | +| YosysOldSpi | PASS | 0 | 109 | 3 | 7 | 3 | 3s (+2s) | 124 (+1) | +| YosysBigSimReed | PASS | 0 | 1 | 15 | 11 | 0 | 2s | 111 (-1) | | SVSwitch | PASS | 0 | 0 | 2 | 52 | 0 | 4s | 83 | -| CoresSweRV | PASS | 0 | 0 | 110 | 21 | 0 | 39s | 794 | +| CoresSweRV | PASS | 0 | 0 | 110 | 21 | 0 | 42s (+3s) | 793 (-1) | | YosysOldSystem | PASS | 0 | 0 | 7 | 11 | 0 | 3s | 263 | -| Zachjs | PASS | 0 | 271 | 74 | 0 | 9 | 8s | 205 | -| OVMSwitch | PASS | 0 | 1 | 17 | 124 | 0 | 14s | 283 | -| Driver | PASS | 0 | 0 | 11 | 8 | 0 | 4s | 123 | -| UtdSV | PASS | 0 | 9 | 2797 | 488 | 3 | 23s | 1100 | +| OVMSwitch | PASS | 0 | 1 | 17 | 124 | 0 | 17s (+3s) | 282 (-1) | +| Driver | PASS | 0 | 0 | 11 | 8 | 0 | 4s | 122 (-1) | +| UtdSV | PASS | 0 | 9 | 2797 | 488 | 3 | 24s (+1s) | 1100 | | YosysMarlann | PASS | 0 | 0 | 2 | 7 | 0 | 2s | 61 | -| UVMSwitch | PASS | 0 | 0 | 11 | 129 | 0 | 16s | 309 | +| UVMSwitch | PASS | 0 | 0 | 11 | 129 | 0 | 18s (+2s) | 309 | | GenerateUnnamed | PASS | 0 | 0 | 2 | 24 | 0 | 0s | 39 | | SplitFile | PASS | 0 | 13 | 17 | 27 | 0 | 0s | 46 | | UnitElab | PASS | 0 | 1 | 17 | 2465 | 0 | 1s | 49 | -| SimpleTask | PASS | 0 | 0 | 2 | 20 | 0 | 1s | 46 | +| SimpleTask | PASS | 0 | 0 | 2 | 20 | 0 | 1s | 45 (-1) | | UnitElabExternNested | PASS | 0 | 0 | 8 | 22 | 0 | 0s | 39 | -| BlackParrot | PASS | 0 | 15 | 219 | 108 | 0 | 55s | 1209 | -| IbexGoogle | PASS | 0 | 7 | 11 | 7 | 1 | 40s | 516 | +| BlackParrot | PASS | 0 | 15 | 219 | 108 | 0 | 65s (+10s) | 1208 (-1) | +| IbexGoogle | PASS | 0 | 7 | 11 | 7 | 1 | 44s (+4s) | 516 | | BeginKeywords | PASS | 0 | 0 | 1 | 6 | 0 | 0s | 39 | -| YosysBigSimPong | PASS | 0 | 0 | 6 | 8 | 0 | 2s | 128 | -| YosysOldSasc | PASS | 0 | 3 | 3 | 9 | 0 | 1s | 65 | -| SimpleClass1 | PASS | 0 | 8 | 15 | 8 | 0 | 1s | 98 | +| YosysBigSimPong | PASS | 0 | 0 | 6 | 8 | 0 | 3s (+1s) | 127 (-1) | +| YosysOldSasc | PASS | 0 | 3 | 3 | 9 | 0 | 2s (+1s) | 64 (-1) | +| SimpleClass1 | PASS | 0 | 8 | 15 | 8 | 0 | 2s (+1s) | 98 | | SimpleClass2 | PASS | 0 | 2 | 3 | 4 | 0 | 0s | 39 | -| UnitPython | PASS | 0 | 0 | 3 | 0 | 0 | 0s | 39 | +| UnitPython | PASS | 0 | 0 | 3 | 0 | 0 | 0s | 38 (-1) | | LibraryIntercon | PASS | 0 | 0 | 3 | 29 | 0 | 1s | 44 | +----------------------------+----------+----------+----------+----------+----------+----------+--------------+--------------+ @@ -116,12 +115,12 @@ +--------------+----------+----------+ | | CURRENT | PREVIOUS | +--------------+----------+----------+ -|TOTAL ELAPSED | 775s | 775s | -|TOTAL USER | 834s | 834s | -|MAX MEM TEST | 2602Mb | 2602Mb | -|MAX TIME TEST | 142s | 142s | +|TOTAL ELAPSED | 882s | 775s | +|TOTAL USER | 953s | 842s | +|MAX MEM TEST | 2776Mb | 2602Mb | +|MAX TIME TEST | 155s | 142s | +--------------+----------+----------+ -End on 11/14/2019 19:45:41 +End on 11/15/2019 18:38:02 END SURELOG REGRESSION ************************
diff --git a/src/buildantlr_mini.sh b/src/buildantlr_mini.sh deleted file mode 100755 index f3bf237..0000000 --- a/src/buildantlr_mini.sh +++ /dev/null
@@ -1,41 +0,0 @@ -#!/bin/bash -set -e -# Any subsequent(*) commands which fail will cause the shell script to exit immediately - -######################################################################### -# Build Antlr4.72 for Java and C++ -######################################################################### -echo "Building Antlr" - -if test -f ../antlr4/antlr4-4.7.2/runtime/Cpp/run/usr/local/lib/libantlr4-runtime.a; then - echo "Done Building Antlr" - exit 0 -fi - -export CXX=`which g++` ; export CC=`which gcc` -# For Travis build -if test -f /usr/bin/g++-7 || test -f /usr/local/bin/g++-7 ; then - export CXX=`which g++-7` ; - export CC=`which gcc-7` ; -fi - - -$CXX --version -echo $? - -mkdir -p ../antlr4/antlr4-4.7.2/tool/target/ -mkdir -p ../antlr4/antlr4-4.7.2/runtime -mkdir -p ../antlr4/antlr4-4.7.2/tool/target/ -cd ../antlr4 -cp ../third_party/antlr4/antlr4-4.7.2-complete.jar antlr4-4.7.2/tool/target/ -cp -R ../third_party/antlr4/runtime/* antlr4-4.7.2/runtime -cd antlr4-4.7.2 - -# Optimized version -cd runtime/Cpp -rm -rf build run -mkdir build && mkdir run && cd build -cmake .. -DCMAKE_CXX_COMPILER=$CXX -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free" &> antlr_configure.log -make -j 4 &> antlr_compile.log -DESTDIR=../../../runtime/Cpp/run make install &> antlr_install.log -echo "Done Building Antlr"
diff --git a/src/buildflatbuffer.sh b/src/buildflatbuffer.sh deleted file mode 100755 index 3e3e51b..0000000 --- a/src/buildflatbuffer.sh +++ /dev/null
@@ -1,37 +0,0 @@ -#!/bin/bash -set -e -# Any subsequent(*) commands which fail will cause the shell script to exit immediately - -######################################################################### -# Build flatbuffers -######################################################################### -echo "Building Flatbuffers" - -if test -f ../flatbuffers/flatc ; then - echo "Done Building Flatbuffers" - exit 0 -fi - - -mkdir -p ../flatbuffers -cd ../flatbuffers -cp -Rf ../third_party/flatbuffers/* . - -export CXX=`which g++` ; export CC=`which gcc` -# For Travis build -if test -f /usr/bin/g++-7 || test -f /usr/local/bin/g++-7 ; then - export CXX=`which g++-7` ; - export CC=`which gcc-7` ; -fi - -$CXX --version -echo $? -echo "Configuring Flatbuffers" -cmake -G "Unix Makefiles" -DCMAKE_CXX_COMPILER=$CXX -DCMAKE_CXX_FLAGS="-w -Wimplicit-fallthrough=0" #&> flatbuffers_configure.log -echo "Making Flatbuffers" -make -j 4 #&> flatbuffers_compile.log -echo "Testing Flatbuffers" -./flattests &> flatbuffers_test.log - -echo "Done Building Flatbuffers" -
diff --git a/src/buildrelease.sh b/src/buildrelease.sh deleted file mode 100755 index 7e8bd6f..0000000 --- a/src/buildrelease.sh +++ /dev/null
@@ -1,58 +0,0 @@ -#!/bin/bash -set -e -# Any subsequent(*) commands which fail will cause the shell script to exit immediately - -# Complete Surelog build script (Only builds the release executable) -echo "Building Surelog" -./buildflatbuffer.sh -./buildantlr_mini.sh - -export CXX=`which g++` ; export CC=`which gcc` -# For Travis build -if test -f /usr/bin/g++-7 || test -f /usr/local/bin/g++-7 ; then - export CXX=`which g++-7` ; - export CC=`which gcc-7` ; -fi - -$CXX --version -echo $? - -echo "Generating Antlr parser" -cd ../grammar -java -cp ../antlr4/antlr4-4.7.2/tool/target/antlr4-4.7.2-complete.jar org.antlr.v4.Tool -Dlanguage=Cpp *.g4 -cd ../src - -echo "Generating caching scheme" -cd Cache; -../../flatbuffers/flatc header.fbs --cpp --binary -../../flatbuffers/flatc preproc.fbs --cpp --binary -../../flatbuffers/flatc parser.fbs --cpp --binary -../../flatbuffers/flatc python_api.fbs --cpp --binary -cd ..; - -echo "Generating code" -SourceCompile/generate_parser_listener.tcl -API/generate_python_listener_api.tcl -API/embed_python_api.tcl -swig -c++ -python -o API/slapi_wrap.cxx API/slapi.i -API/embed_python_api.tcl -API/generate_python_listener_api.tcl -#SourceCompile/generate_parser_listener.tcl - -echo "Make" -mkdir -p build -cd build -cmake ../ -DCMAKE_CXX_COMPILER=$CXX -DCMAKE_BUILD_TYPE=Release # -DCMAKE_VERBOSE_MAKEFILE=on -make -j 4 -echo "Done Building Surelog" - -cd .. -echo "Run Tests" -./release.tcl "release tcmalloc" ; -cd Testcases/ ; -./regression.tcl show_diff mt=0 - - -echo "End Surelog Tests" - -
diff --git a/src/parser/SV3_1aPpLexer.cpp b/src/parser/SV3_1aPpLexer.cpp index 34cde50..c50ea75 100644 --- a/src/parser/SV3_1aPpLexer.cpp +++ b/src/parser/SV3_1aPpLexer.cpp
@@ -1,5 +1,5 @@ -// Generated from SV3_1aPpLexer.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aPpLexer.g4 by ANTLR 4.7.2 #include "SV3_1aPpLexer.h"
diff --git a/src/parser/SV3_1aPpLexer.h b/src/parser/SV3_1aPpLexer.h index 51bfe15..111f172 100644 --- a/src/parser/SV3_1aPpLexer.h +++ b/src/parser/SV3_1aPpLexer.h
@@ -1,5 +1,5 @@ -// Generated from SV3_1aPpLexer.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aPpLexer.g4 by ANTLR 4.7.2 #pragma once
diff --git a/src/parser/SV3_1aPpLexer.interp b/src/parser/SV3_1aPpLexer.interp new file mode 100644 index 0000000..45f6051 --- /dev/null +++ b/src/parser/SV3_1aPpLexer.interp
@@ -0,0 +1,322 @@ +token literal names: +null +null +null +null +'`define' +'`celldefine' +'`endcelldefine' +'`default_nettype' +'`undef' +'`ifdef' +'`ifndef' +'`else' +'`elsif' +'`elseif' +'`endif' +'`include' +'`pragma' +'`begin_keywords' +'`end_keywords' +'`resetall' +'`timescale' +'`unconnected_drive' +'`nounconnected_drive' +'`line' +'`default_decay_time' +'`default_trireg_strength' +'`delay_mode_distributed' +'`delay_mode_path' +'`delay_mode_unit' +'`delay_mode_zero' +'`undefineall' +'`accelerate' +'`noaccelerate' +'`protect' +'`uselib' +'`disable_portfaults' +'`enable_portfaults' +'`nosuppress_faults' +'`suppress_faults' +'`signed' +'`unsigned' +'`endprotect' +'`protected' +'`endprotected' +'`expand_vectornets' +'`noexpand_vectornets' +'`autoexpand_vectornets' +'`remove_gatename' +'`noremove_gatenames' +'`remove_netname' +'`noremove_netnames' +'`__FILE__' +'`__LINE__' +'module' +'endmodule' +'interface' +'endinterface' +'program' +'endprogram' +'primivite' +'endprimitive' +'package' +'endpackage' +'checker' +'endchecker' +'config' +'endconfig' +null +null +null +null +null +null +null +null +null +null +null +null +'`"' +'`\\`"' +'``' +'(' +')' +',' +'=' +'"' +null +'{' +'}' +'[' +']' +null +null + +token symbolic names: +null +One_line_comment +Block_comment +TICK_VARIABLE +TICK_DEFINE +TICK_CELLDEFINE +TICK_ENDCELLDEFINE +TICK_DEFAULT_NETTYPE +TICK_UNDEF +TICK_IFDEF +TICK_IFNDEF +TICK_ELSE +TICK_ELSIF +TICK_ELSEIF +TICK_ENDIF +TICK_INCLUDE +TICK_PRAGMA +TICK_BEGIN_KEYWORDS +TICK_END_KEYWORDS +TICK_RESETALL +TICK_TIMESCALE +TICK_UNCONNECTED_DRIVE +TICK_NOUNCONNECTED_DRIVE +TICK_LINE +TICK_DEFAULT_DECAY_TIME +TICK_DEFAULT_TRIREG_STRENGTH +TICK_DELAY_MODE_DISTRIBUTED +TICK_DELAY_MODE_PATH +TICK_DELAY_MODE_UNIT +TICK_DELAY_MODE_ZERO +TICK_UNDEFINEALL +TICK_ACCELERATE +TICK_NOACCELERATE +TICK_PROTECT +TICK_USELIB +TICK_DISABLE_PORTFAULTS +TICK_ENABLE_PORTFAULTS +TICK_NOSUPPRESS_FAULTS +TICK_SUPPRESS_FAULTS +TICK_SIGNED +TICK_UNSIGNED +TICK_ENDPROTECT +TICK_PROTECTED +TICK_ENDPROTECTED +TICK_EXPAND_VECTORNETS +TICK_NOEXPAND_VECTORNETS +TICK_AUTOEXPAND_VECTORNETS +TICK_REMOVE_GATENAME +TICK_NOREMOVE_GATENAMES +TICK_REMOVE_NETNAME +TICK_NOREMOVE_NETNAMES +TICK_FILE__ +TICK_LINE__ +MODULE +ENDMODULE +INTERFACE +ENDINTERFACE +PROGRAM +ENDPROGRAM +PRIMITIVE +ENDPRIMITIVE +PACKAGE +ENDPACKAGE +CHECKER +ENDCHECKER +CONFIG +ENDCONFIG +Macro_identifier +Macro_Escaped_identifier +String +Simple_identifier +Spaces +Pound_delay +TIMESCALE +Number +Fixed_point_number +TEXT_CR +ESCAPED_CR +CR +TICK_QUOTE +TICK_BACKSLASH_TICK_QUOTE +TICK_TICK +PARENS_OPEN +PARENS_CLOSE +COMMA +EQUAL_OP +DOUBLE_QUOTE +Escaped_identifier +CURLY_OPEN +CURLY_CLOSE +SQUARE_OPEN +SQUARE_CLOSE +Special +ANY + +rule names: +One_line_comment +Block_comment +Comment_text +TICK_VARIABLE +TICK_DEFINE +TICK_CELLDEFINE +TICK_ENDCELLDEFINE +TICK_DEFAULT_NETTYPE +TICK_UNDEF +TICK_IFDEF +TICK_IFNDEF +TICK_ELSE +TICK_ELSIF +TICK_ELSEIF +TICK_ENDIF +TICK_INCLUDE +TICK_PRAGMA +TICK_BEGIN_KEYWORDS +TICK_END_KEYWORDS +TICK_RESETALL +TICK_TIMESCALE +TICK_UNCONNECTED_DRIVE +TICK_NOUNCONNECTED_DRIVE +TICK_LINE +TICK_DEFAULT_DECAY_TIME +TICK_DEFAULT_TRIREG_STRENGTH +TICK_DELAY_MODE_DISTRIBUTED +TICK_DELAY_MODE_PATH +TICK_DELAY_MODE_UNIT +TICK_DELAY_MODE_ZERO +TICK_UNDEFINEALL +TICK_ACCELERATE +TICK_NOACCELERATE +TICK_PROTECT +TICK_USELIB +TICK_DISABLE_PORTFAULTS +TICK_ENABLE_PORTFAULTS +TICK_NOSUPPRESS_FAULTS +TICK_SUPPRESS_FAULTS +TICK_SIGNED +TICK_UNSIGNED +TICK_ENDPROTECT +TICK_PROTECTED +TICK_ENDPROTECTED +TICK_EXPAND_VECTORNETS +TICK_NOEXPAND_VECTORNETS +TICK_AUTOEXPAND_VECTORNETS +TICK_REMOVE_GATENAME +TICK_NOREMOVE_GATENAMES +TICK_REMOVE_NETNAME +TICK_NOREMOVE_NETNAMES +TICK_FILE__ +TICK_LINE__ +MODULE +ENDMODULE +INTERFACE +ENDINTERFACE +PROGRAM +ENDPROGRAM +PRIMITIVE +ENDPRIMITIVE +PACKAGE +ENDPACKAGE +CHECKER +ENDCHECKER +CONFIG +ENDCONFIG +Macro_identifier +Macro_Escaped_identifier +String +Simple_identifier +Spaces +Pound_delay +TIMESCALE +Non_zero_unsigned_number +Decimal_number +Binary_number +Octal_number +Hex_number +Number +Unsigned_number +Binary_value +Octal_value +Hex_value +Decimal_base +Binary_base +Octal_base +Hex_base +Decimal_digit +Binary_digit +Binary_digit_no_qm +Octal_digit +Octal_digit_no_qm +Hex_digit +Hex_digit_no_qm +X_digit +Z_digit +Z_digit_no_qm +Fixed_point_number +WS +TAB +TEXT_CR +ESCAPED_CR +CR +TICK_QUOTE +TICK_BACKSLASH_TICK_QUOTE +TICK_TICK +PARENS_OPEN +PARENS_CLOSE +COMMA +EQUAL_OP +DOUBLE_QUOTE +Escaped_identifier +CURLY_OPEN +CURLY_CLOSE +SQUARE_OPEN +SQUARE_CLOSE +Special +ANY + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 95, 1568, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 247, 10, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 7, 4, 261, 10, 4, 12, 4, 14, 4, 264, 11, 4, 3, 4, 7, 4, 267, 10, 4, 12, 4, 14, 4, 270, 11, 4, 5, 4, 272, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 6, 5, 278, 10, 5, 13, 5, 14, 5, 279, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 7, 69, 1102, 10, 69, 12, 69, 14, 69, 1105, 11, 69, 3, 70, 3, 70, 3, 70, 3, 70, 7, 70, 1111, 10, 70, 12, 70, 14, 70, 1114, 11, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 7, 71, 1122, 10, 71, 12, 71, 14, 71, 1125, 11, 71, 3, 71, 3, 71, 3, 72, 3, 72, 7, 72, 1131, 10, 72, 12, 72, 14, 72, 1134, 11, 72, 3, 73, 3, 73, 6, 73, 1138, 10, 73, 13, 73, 14, 73, 1139, 3, 74, 3, 74, 7, 74, 1144, 10, 74, 12, 74, 14, 74, 1147, 11, 74, 3, 74, 3, 74, 7, 74, 1151, 10, 74, 12, 74, 14, 74, 1154, 11, 74, 3, 75, 3, 75, 7, 75, 1158, 10, 75, 12, 75, 14, 75, 1161, 11, 75, 3, 75, 6, 75, 1164, 10, 75, 13, 75, 14, 75, 1165, 3, 75, 3, 75, 7, 75, 1170, 10, 75, 12, 75, 14, 75, 1173, 11, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 5, 75, 1186, 10, 75, 3, 75, 3, 75, 7, 75, 1190, 10, 75, 12, 75, 14, 75, 1193, 11, 75, 3, 75, 3, 75, 3, 75, 7, 75, 1198, 10, 75, 12, 75, 14, 75, 1201, 11, 75, 3, 75, 6, 75, 1204, 10, 75, 13, 75, 14, 75, 1205, 3, 75, 3, 75, 7, 75, 1210, 10, 75, 12, 75, 14, 75, 1213, 11, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 5, 75, 1226, 10, 75, 3, 76, 3, 76, 3, 76, 7, 76, 1231, 10, 76, 12, 76, 14, 76, 1234, 11, 76, 3, 77, 3, 77, 3, 77, 7, 77, 1239, 10, 77, 12, 77, 14, 77, 1242, 11, 77, 5, 77, 1244, 10, 77, 3, 77, 3, 77, 7, 77, 1248, 10, 77, 12, 77, 14, 77, 1251, 11, 77, 3, 77, 7, 77, 1254, 10, 77, 12, 77, 14, 77, 1257, 11, 77, 3, 77, 3, 77, 7, 77, 1261, 10, 77, 12, 77, 14, 77, 1264, 11, 77, 5, 77, 1266, 10, 77, 3, 77, 3, 77, 7, 77, 1270, 10, 77, 12, 77, 14, 77, 1273, 11, 77, 3, 77, 3, 77, 7, 77, 1277, 10, 77, 12, 77, 14, 77, 1280, 11, 77, 3, 77, 3, 77, 7, 77, 1284, 10, 77, 12, 77, 14, 77, 1287, 11, 77, 5, 77, 1289, 10, 77, 3, 77, 3, 77, 7, 77, 1293, 10, 77, 12, 77, 14, 77, 1296, 11, 77, 3, 77, 3, 77, 7, 77, 1300, 10, 77, 12, 77, 14, 77, 1303, 11, 77, 5, 77, 1305, 10, 77, 3, 78, 3, 78, 7, 78, 1309, 10, 78, 12, 78, 14, 78, 1312, 11, 78, 5, 78, 1314, 10, 78, 3, 78, 3, 78, 7, 78, 1318, 10, 78, 12, 78, 14, 78, 1321, 11, 78, 3, 78, 3, 78, 3, 79, 3, 79, 7, 79, 1327, 10, 79, 12, 79, 14, 79, 1330, 11, 79, 5, 79, 1332, 10, 79, 3, 79, 3, 79, 7, 79, 1336, 10, 79, 12, 79, 14, 79, 1339, 11, 79, 3, 79, 3, 79, 3, 80, 3, 80, 7, 80, 1345, 10, 80, 12, 80, 14, 80, 1348, 11, 80, 5, 80, 1350, 10, 80, 3, 80, 3, 80, 7, 80, 1354, 10, 80, 12, 80, 14, 80, 1357, 11, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 5, 81, 1365, 10, 81, 3, 82, 3, 82, 3, 82, 3, 82, 7, 82, 1371, 10, 82, 12, 82, 14, 82, 1374, 11, 82, 3, 83, 7, 83, 1377, 10, 83, 12, 83, 14, 83, 1380, 11, 83, 3, 83, 7, 83, 1383, 10, 83, 12, 83, 14, 83, 1386, 11, 83, 3, 83, 3, 83, 7, 83, 1390, 10, 83, 12, 83, 14, 83, 1393, 11, 83, 3, 84, 7, 84, 1396, 10, 84, 12, 84, 14, 84, 1399, 11, 84, 3, 84, 7, 84, 1402, 10, 84, 12, 84, 14, 84, 1405, 11, 84, 3, 84, 3, 84, 7, 84, 1409, 10, 84, 12, 84, 14, 84, 1412, 11, 84, 3, 85, 7, 85, 1415, 10, 85, 12, 85, 14, 85, 1418, 11, 85, 3, 85, 7, 85, 1421, 10, 85, 12, 85, 14, 85, 1424, 11, 85, 3, 85, 3, 85, 7, 85, 1428, 10, 85, 12, 85, 14, 85, 1431, 11, 85, 3, 86, 3, 86, 5, 86, 1435, 10, 86, 3, 86, 3, 86, 3, 87, 3, 87, 5, 87, 1441, 10, 87, 3, 87, 3, 87, 3, 88, 3, 88, 5, 88, 1447, 10, 88, 3, 88, 3, 88, 3, 89, 3, 89, 5, 89, 1453, 10, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 5, 91, 1462, 10, 91, 3, 92, 3, 92, 3, 92, 5, 92, 1467, 10, 92, 3, 93, 3, 93, 3, 93, 5, 93, 1472, 10, 93, 3, 94, 3, 94, 3, 94, 5, 94, 1477, 10, 94, 3, 95, 3, 95, 3, 95, 5, 95, 1482, 10, 95, 3, 96, 3, 96, 3, 96, 5, 96, 1487, 10, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 6, 100, 1496, 10, 100, 13, 100, 14, 100, 1497, 3, 100, 3, 100, 6, 100, 1502, 10, 100, 13, 100, 14, 100, 1503, 3, 101, 6, 101, 1507, 10, 101, 13, 101, 14, 101, 1508, 3, 102, 6, 102, 1512, 10, 102, 13, 102, 14, 102, 1513, 3, 103, 3, 103, 3, 103, 3, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 110, 3, 110, 3, 111, 3, 111, 3, 112, 3, 112, 3, 113, 3, 113, 3, 114, 3, 114, 7, 114, 1547, 10, 114, 12, 114, 14, 114, 1550, 11, 114, 3, 114, 3, 114, 3, 115, 3, 115, 3, 116, 3, 116, 3, 117, 3, 117, 3, 118, 3, 118, 3, 119, 6, 119, 1563, 10, 119, 13, 119, 14, 119, 1564, 3, 120, 3, 120, 5, 268, 1112, 1548, 2, 121, 3, 3, 5, 4, 7, 2, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, 75, 151, 2, 153, 2, 155, 2, 157, 2, 159, 2, 161, 76, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 77, 201, 2, 203, 2, 205, 78, 207, 79, 209, 80, 211, 81, 213, 82, 215, 83, 217, 84, 219, 85, 221, 86, 223, 87, 225, 88, 227, 89, 229, 90, 231, 91, 233, 92, 235, 93, 237, 94, 239, 95, 3, 2, 25, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 5, 2, 67, 92, 97, 97, 99, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 11, 12, 15, 15, 85, 85, 89, 89, 3, 2, 15, 15, 6, 2, 12, 12, 15, 15, 36, 36, 94, 94, 3, 2, 50, 59, 5, 2, 48, 48, 50, 59, 97, 97, 4, 2, 34, 34, 97, 97, 4, 2, 85, 85, 117, 117, 4, 2, 70, 70, 102, 102, 4, 2, 68, 68, 100, 100, 4, 2, 81, 81, 113, 113, 4, 2, 74, 74, 106, 106, 5, 2, 50, 59, 67, 72, 99, 104, 4, 2, 90, 90, 122, 122, 5, 2, 65, 65, 92, 92, 124, 124, 4, 2, 92, 92, 124, 124, 3, 2, 34, 34, 3, 2, 11, 11, 4, 2, 112, 112, 116, 116, 4, 2, 12, 12, 15, 15, 11, 2, 35, 35, 37, 41, 44, 45, 47, 49, 60, 62, 64, 66, 96, 96, 126, 126, 128, 128, 2, 1645, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 2, 109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113, 3, 2, 2, 2, 2, 115, 3, 2, 2, 2, 2, 117, 3, 2, 2, 2, 2, 119, 3, 2, 2, 2, 2, 121, 3, 2, 2, 2, 2, 123, 3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 127, 3, 2, 2, 2, 2, 129, 3, 2, 2, 2, 2, 131, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2, 135, 3, 2, 2, 2, 2, 137, 3, 2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2, 2, 2, 2, 143, 3, 2, 2, 2, 2, 145, 3, 2, 2, 2, 2, 147, 3, 2, 2, 2, 2, 149, 3, 2, 2, 2, 2, 161, 3, 2, 2, 2, 2, 199, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 2, 237, 3, 2, 2, 2, 2, 239, 3, 2, 2, 2, 3, 241, 3, 2, 2, 2, 5, 250, 3, 2, 2, 2, 7, 271, 3, 2, 2, 2, 9, 273, 3, 2, 2, 2, 11, 284, 3, 2, 2, 2, 13, 292, 3, 2, 2, 2, 15, 304, 3, 2, 2, 2, 17, 319, 3, 2, 2, 2, 19, 336, 3, 2, 2, 2, 21, 343, 3, 2, 2, 2, 23, 350, 3, 2, 2, 2, 25, 358, 3, 2, 2, 2, 27, 364, 3, 2, 2, 2, 29, 371, 3, 2, 2, 2, 31, 379, 3, 2, 2, 2, 33, 386, 3, 2, 2, 2, 35, 395, 3, 2, 2, 2, 37, 403, 3, 2, 2, 2, 39, 419, 3, 2, 2, 2, 41, 433, 3, 2, 2, 2, 43, 443, 3, 2, 2, 2, 45, 454, 3, 2, 2, 2, 47, 473, 3, 2, 2, 2, 49, 494, 3, 2, 2, 2, 51, 500, 3, 2, 2, 2, 53, 520, 3, 2, 2, 2, 55, 545, 3, 2, 2, 2, 57, 569, 3, 2, 2, 2, 59, 586, 3, 2, 2, 2, 61, 603, 3, 2, 2, 2, 63, 620, 3, 2, 2, 2, 65, 633, 3, 2, 2, 2, 67, 645, 3, 2, 2, 2, 69, 659, 3, 2, 2, 2, 71, 668, 3, 2, 2, 2, 73, 676, 3, 2, 2, 2, 75, 696, 3, 2, 2, 2, 77, 715, 3, 2, 2, 2, 79, 734, 3, 2, 2, 2, 81, 751, 3, 2, 2, 2, 83, 759, 3, 2, 2, 2, 85, 769, 3, 2, 2, 2, 87, 781, 3, 2, 2, 2, 89, 792, 3, 2, 2, 2, 91, 806, 3, 2, 2, 2, 93, 825, 3, 2, 2, 2, 95, 846, 3, 2, 2, 2, 97, 869, 3, 2, 2, 2, 99, 886, 3, 2, 2, 2, 101, 906, 3, 2, 2, 2, 103, 922, 3, 2, 2, 2, 105, 941, 3, 2, 2, 2, 107, 951, 3, 2, 2, 2, 109, 961, 3, 2, 2, 2, 111, 968, 3, 2, 2, 2, 113, 978, 3, 2, 2, 2, 115, 988, 3, 2, 2, 2, 117, 1001, 3, 2, 2, 2, 119, 1009, 3, 2, 2, 2, 121, 1020, 3, 2, 2, 2, 123, 1030, 3, 2, 2, 2, 125, 1043, 3, 2, 2, 2, 127, 1051, 3, 2, 2, 2, 129, 1062, 3, 2, 2, 2, 131, 1070, 3, 2, 2, 2, 133, 1081, 3, 2, 2, 2, 135, 1088, 3, 2, 2, 2, 137, 1098, 3, 2, 2, 2, 139, 1106, 3, 2, 2, 2, 141, 1117, 3, 2, 2, 2, 143, 1128, 3, 2, 2, 2, 145, 1137, 3, 2, 2, 2, 147, 1141, 3, 2, 2, 2, 149, 1159, 3, 2, 2, 2, 151, 1227, 3, 2, 2, 2, 153, 1304, 3, 2, 2, 2, 155, 1313, 3, 2, 2, 2, 157, 1331, 3, 2, 2, 2, 159, 1349, 3, 2, 2, 2, 161, 1364, 3, 2, 2, 2, 163, 1366, 3, 2, 2, 2, 165, 1378, 3, 2, 2, 2, 167, 1397, 3, 2, 2, 2, 169, 1416, 3, 2, 2, 2, 171, 1432, 3, 2, 2, 2, 173, 1438, 3, 2, 2, 2, 175, 1444, 3, 2, 2, 2, 177, 1450, 3, 2, 2, 2, 179, 1456, 3, 2, 2, 2, 181, 1461, 3, 2, 2, 2, 183, 1466, 3, 2, 2, 2, 185, 1471, 3, 2, 2, 2, 187, 1476, 3, 2, 2, 2, 189, 1481, 3, 2, 2, 2, 191, 1486, 3, 2, 2, 2, 193, 1488, 3, 2, 2, 2, 195, 1490, 3, 2, 2, 2, 197, 1492, 3, 2, 2, 2, 199, 1495, 3, 2, 2, 2, 201, 1506, 3, 2, 2, 2, 203, 1511, 3, 2, 2, 2, 205, 1515, 3, 2, 2, 2, 207, 1518, 3, 2, 2, 2, 209, 1521, 3, 2, 2, 2, 211, 1523, 3, 2, 2, 2, 213, 1526, 3, 2, 2, 2, 215, 1531, 3, 2, 2, 2, 217, 1534, 3, 2, 2, 2, 219, 1536, 3, 2, 2, 2, 221, 1538, 3, 2, 2, 2, 223, 1540, 3, 2, 2, 2, 225, 1542, 3, 2, 2, 2, 227, 1544, 3, 2, 2, 2, 229, 1553, 3, 2, 2, 2, 231, 1555, 3, 2, 2, 2, 233, 1557, 3, 2, 2, 2, 235, 1559, 3, 2, 2, 2, 237, 1562, 3, 2, 2, 2, 239, 1566, 3, 2, 2, 2, 241, 242, 7, 49, 2, 2, 242, 243, 7, 49, 2, 2, 243, 244, 3, 2, 2, 2, 244, 246, 5, 7, 4, 2, 245, 247, 7, 15, 2, 2, 246, 245, 3, 2, 2, 2, 246, 247, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 249, 7, 12, 2, 2, 249, 4, 3, 2, 2, 2, 250, 251, 7, 49, 2, 2, 251, 252, 7, 44, 2, 2, 252, 253, 3, 2, 2, 2, 253, 254, 5, 7, 4, 2, 254, 255, 7, 44, 2, 2, 255, 256, 7, 49, 2, 2, 256, 6, 3, 2, 2, 2, 257, 261, 5, 201, 101, 2, 258, 261, 5, 209, 105, 2, 259, 261, 5, 203, 102, 2, 260, 257, 3, 2, 2, 2, 260, 258, 3, 2, 2, 2, 260, 259, 3, 2, 2, 2, 261, 264, 3, 2, 2, 2, 262, 260, 3, 2, 2, 2, 262, 263, 3, 2, 2, 2, 263, 272, 3, 2, 2, 2, 264, 262, 3, 2, 2, 2, 265, 267, 11, 2, 2, 2, 266, 265, 3, 2, 2, 2, 267, 270, 3, 2, 2, 2, 268, 269, 3, 2, 2, 2, 268, 266, 3, 2, 2, 2, 269, 272, 3, 2, 2, 2, 270, 268, 3, 2, 2, 2, 271, 262, 3, 2, 2, 2, 271, 268, 3, 2, 2, 2, 272, 8, 3, 2, 2, 2, 273, 274, 7, 98, 2, 2, 274, 275, 7, 98, 2, 2, 275, 277, 3, 2, 2, 2, 276, 278, 9, 2, 2, 2, 277, 276, 3, 2, 2, 2, 278, 279, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 279, 280, 3, 2, 2, 2, 280, 281, 3, 2, 2, 2, 281, 282, 7, 98, 2, 2, 282, 283, 7, 98, 2, 2, 283, 10, 3, 2, 2, 2, 284, 285, 7, 98, 2, 2, 285, 286, 7, 102, 2, 2, 286, 287, 7, 103, 2, 2, 287, 288, 7, 104, 2, 2, 288, 289, 7, 107, 2, 2, 289, 290, 7, 112, 2, 2, 290, 291, 7, 103, 2, 2, 291, 12, 3, 2, 2, 2, 292, 293, 7, 98, 2, 2, 293, 294, 7, 101, 2, 2, 294, 295, 7, 103, 2, 2, 295, 296, 7, 110, 2, 2, 296, 297, 7, 110, 2, 2, 297, 298, 7, 102, 2, 2, 298, 299, 7, 103, 2, 2, 299, 300, 7, 104, 2, 2, 300, 301, 7, 107, 2, 2, 301, 302, 7, 112, 2, 2, 302, 303, 7, 103, 2, 2, 303, 14, 3, 2, 2, 2, 304, 305, 7, 98, 2, 2, 305, 306, 7, 103, 2, 2, 306, 307, 7, 112, 2, 2, 307, 308, 7, 102, 2, 2, 308, 309, 7, 101, 2, 2, 309, 310, 7, 103, 2, 2, 310, 311, 7, 110, 2, 2, 311, 312, 7, 110, 2, 2, 312, 313, 7, 102, 2, 2, 313, 314, 7, 103, 2, 2, 314, 315, 7, 104, 2, 2, 315, 316, 7, 107, 2, 2, 316, 317, 7, 112, 2, 2, 317, 318, 7, 103, 2, 2, 318, 16, 3, 2, 2, 2, 319, 320, 7, 98, 2, 2, 320, 321, 7, 102, 2, 2, 321, 322, 7, 103, 2, 2, 322, 323, 7, 104, 2, 2, 323, 324, 7, 99, 2, 2, 324, 325, 7, 119, 2, 2, 325, 326, 7, 110, 2, 2, 326, 327, 7, 118, 2, 2, 327, 328, 7, 97, 2, 2, 328, 329, 7, 112, 2, 2, 329, 330, 7, 103, 2, 2, 330, 331, 7, 118, 2, 2, 331, 332, 7, 118, 2, 2, 332, 333, 7, 123, 2, 2, 333, 334, 7, 114, 2, 2, 334, 335, 7, 103, 2, 2, 335, 18, 3, 2, 2, 2, 336, 337, 7, 98, 2, 2, 337, 338, 7, 119, 2, 2, 338, 339, 7, 112, 2, 2, 339, 340, 7, 102, 2, 2, 340, 341, 7, 103, 2, 2, 341, 342, 7, 104, 2, 2, 342, 20, 3, 2, 2, 2, 343, 344, 7, 98, 2, 2, 344, 345, 7, 107, 2, 2, 345, 346, 7, 104, 2, 2, 346, 347, 7, 102, 2, 2, 347, 348, 7, 103, 2, 2, 348, 349, 7, 104, 2, 2, 349, 22, 3, 2, 2, 2, 350, 351, 7, 98, 2, 2, 351, 352, 7, 107, 2, 2, 352, 353, 7, 104, 2, 2, 353, 354, 7, 112, 2, 2, 354, 355, 7, 102, 2, 2, 355, 356, 7, 103, 2, 2, 356, 357, 7, 104, 2, 2, 357, 24, 3, 2, 2, 2, 358, 359, 7, 98, 2, 2, 359, 360, 7, 103, 2, 2, 360, 361, 7, 110, 2, 2, 361, 362, 7, 117, 2, 2, 362, 363, 7, 103, 2, 2, 363, 26, 3, 2, 2, 2, 364, 365, 7, 98, 2, 2, 365, 366, 7, 103, 2, 2, 366, 367, 7, 110, 2, 2, 367, 368, 7, 117, 2, 2, 368, 369, 7, 107, 2, 2, 369, 370, 7, 104, 2, 2, 370, 28, 3, 2, 2, 2, 371, 372, 7, 98, 2, 2, 372, 373, 7, 103, 2, 2, 373, 374, 7, 110, 2, 2, 374, 375, 7, 117, 2, 2, 375, 376, 7, 103, 2, 2, 376, 377, 7, 107, 2, 2, 377, 378, 7, 104, 2, 2, 378, 30, 3, 2, 2, 2, 379, 380, 7, 98, 2, 2, 380, 381, 7, 103, 2, 2, 381, 382, 7, 112, 2, 2, 382, 383, 7, 102, 2, 2, 383, 384, 7, 107, 2, 2, 384, 385, 7, 104, 2, 2, 385, 32, 3, 2, 2, 2, 386, 387, 7, 98, 2, 2, 387, 388, 7, 107, 2, 2, 388, 389, 7, 112, 2, 2, 389, 390, 7, 101, 2, 2, 390, 391, 7, 110, 2, 2, 391, 392, 7, 119, 2, 2, 392, 393, 7, 102, 2, 2, 393, 394, 7, 103, 2, 2, 394, 34, 3, 2, 2, 2, 395, 396, 7, 98, 2, 2, 396, 397, 7, 114, 2, 2, 397, 398, 7, 116, 2, 2, 398, 399, 7, 99, 2, 2, 399, 400, 7, 105, 2, 2, 400, 401, 7, 111, 2, 2, 401, 402, 7, 99, 2, 2, 402, 36, 3, 2, 2, 2, 403, 404, 7, 98, 2, 2, 404, 405, 7, 100, 2, 2, 405, 406, 7, 103, 2, 2, 406, 407, 7, 105, 2, 2, 407, 408, 7, 107, 2, 2, 408, 409, 7, 112, 2, 2, 409, 410, 7, 97, 2, 2, 410, 411, 7, 109, 2, 2, 411, 412, 7, 103, 2, 2, 412, 413, 7, 123, 2, 2, 413, 414, 7, 121, 2, 2, 414, 415, 7, 113, 2, 2, 415, 416, 7, 116, 2, 2, 416, 417, 7, 102, 2, 2, 417, 418, 7, 117, 2, 2, 418, 38, 3, 2, 2, 2, 419, 420, 7, 98, 2, 2, 420, 421, 7, 103, 2, 2, 421, 422, 7, 112, 2, 2, 422, 423, 7, 102, 2, 2, 423, 424, 7, 97, 2, 2, 424, 425, 7, 109, 2, 2, 425, 426, 7, 103, 2, 2, 426, 427, 7, 123, 2, 2, 427, 428, 7, 121, 2, 2, 428, 429, 7, 113, 2, 2, 429, 430, 7, 116, 2, 2, 430, 431, 7, 102, 2, 2, 431, 432, 7, 117, 2, 2, 432, 40, 3, 2, 2, 2, 433, 434, 7, 98, 2, 2, 434, 435, 7, 116, 2, 2, 435, 436, 7, 103, 2, 2, 436, 437, 7, 117, 2, 2, 437, 438, 7, 103, 2, 2, 438, 439, 7, 118, 2, 2, 439, 440, 7, 99, 2, 2, 440, 441, 7, 110, 2, 2, 441, 442, 7, 110, 2, 2, 442, 42, 3, 2, 2, 2, 443, 444, 7, 98, 2, 2, 444, 445, 7, 118, 2, 2, 445, 446, 7, 107, 2, 2, 446, 447, 7, 111, 2, 2, 447, 448, 7, 103, 2, 2, 448, 449, 7, 117, 2, 2, 449, 450, 7, 101, 2, 2, 450, 451, 7, 99, 2, 2, 451, 452, 7, 110, 2, 2, 452, 453, 7, 103, 2, 2, 453, 44, 3, 2, 2, 2, 454, 455, 7, 98, 2, 2, 455, 456, 7, 119, 2, 2, 456, 457, 7, 112, 2, 2, 457, 458, 7, 101, 2, 2, 458, 459, 7, 113, 2, 2, 459, 460, 7, 112, 2, 2, 460, 461, 7, 112, 2, 2, 461, 462, 7, 103, 2, 2, 462, 463, 7, 101, 2, 2, 463, 464, 7, 118, 2, 2, 464, 465, 7, 103, 2, 2, 465, 466, 7, 102, 2, 2, 466, 467, 7, 97, 2, 2, 467, 468, 7, 102, 2, 2, 468, 469, 7, 116, 2, 2, 469, 470, 7, 107, 2, 2, 470, 471, 7, 120, 2, 2, 471, 472, 7, 103, 2, 2, 472, 46, 3, 2, 2, 2, 473, 474, 7, 98, 2, 2, 474, 475, 7, 112, 2, 2, 475, 476, 7, 113, 2, 2, 476, 477, 7, 119, 2, 2, 477, 478, 7, 112, 2, 2, 478, 479, 7, 101, 2, 2, 479, 480, 7, 113, 2, 2, 480, 481, 7, 112, 2, 2, 481, 482, 7, 112, 2, 2, 482, 483, 7, 103, 2, 2, 483, 484, 7, 101, 2, 2, 484, 485, 7, 118, 2, 2, 485, 486, 7, 103, 2, 2, 486, 487, 7, 102, 2, 2, 487, 488, 7, 97, 2, 2, 488, 489, 7, 102, 2, 2, 489, 490, 7, 116, 2, 2, 490, 491, 7, 107, 2, 2, 491, 492, 7, 120, 2, 2, 492, 493, 7, 103, 2, 2, 493, 48, 3, 2, 2, 2, 494, 495, 7, 98, 2, 2, 495, 496, 7, 110, 2, 2, 496, 497, 7, 107, 2, 2, 497, 498, 7, 112, 2, 2, 498, 499, 7, 103, 2, 2, 499, 50, 3, 2, 2, 2, 500, 501, 7, 98, 2, 2, 501, 502, 7, 102, 2, 2, 502, 503, 7, 103, 2, 2, 503, 504, 7, 104, 2, 2, 504, 505, 7, 99, 2, 2, 505, 506, 7, 119, 2, 2, 506, 507, 7, 110, 2, 2, 507, 508, 7, 118, 2, 2, 508, 509, 7, 97, 2, 2, 509, 510, 7, 102, 2, 2, 510, 511, 7, 103, 2, 2, 511, 512, 7, 101, 2, 2, 512, 513, 7, 99, 2, 2, 513, 514, 7, 123, 2, 2, 514, 515, 7, 97, 2, 2, 515, 516, 7, 118, 2, 2, 516, 517, 7, 107, 2, 2, 517, 518, 7, 111, 2, 2, 518, 519, 7, 103, 2, 2, 519, 52, 3, 2, 2, 2, 520, 521, 7, 98, 2, 2, 521, 522, 7, 102, 2, 2, 522, 523, 7, 103, 2, 2, 523, 524, 7, 104, 2, 2, 524, 525, 7, 99, 2, 2, 525, 526, 7, 119, 2, 2, 526, 527, 7, 110, 2, 2, 527, 528, 7, 118, 2, 2, 528, 529, 7, 97, 2, 2, 529, 530, 7, 118, 2, 2, 530, 531, 7, 116, 2, 2, 531, 532, 7, 107, 2, 2, 532, 533, 7, 116, 2, 2, 533, 534, 7, 103, 2, 2, 534, 535, 7, 105, 2, 2, 535, 536, 7, 97, 2, 2, 536, 537, 7, 117, 2, 2, 537, 538, 7, 118, 2, 2, 538, 539, 7, 116, 2, 2, 539, 540, 7, 103, 2, 2, 540, 541, 7, 112, 2, 2, 541, 542, 7, 105, 2, 2, 542, 543, 7, 118, 2, 2, 543, 544, 7, 106, 2, 2, 544, 54, 3, 2, 2, 2, 545, 546, 7, 98, 2, 2, 546, 547, 7, 102, 2, 2, 547, 548, 7, 103, 2, 2, 548, 549, 7, 110, 2, 2, 549, 550, 7, 99, 2, 2, 550, 551, 7, 123, 2, 2, 551, 552, 7, 97, 2, 2, 552, 553, 7, 111, 2, 2, 553, 554, 7, 113, 2, 2, 554, 555, 7, 102, 2, 2, 555, 556, 7, 103, 2, 2, 556, 557, 7, 97, 2, 2, 557, 558, 7, 102, 2, 2, 558, 559, 7, 107, 2, 2, 559, 560, 7, 117, 2, 2, 560, 561, 7, 118, 2, 2, 561, 562, 7, 116, 2, 2, 562, 563, 7, 107, 2, 2, 563, 564, 7, 100, 2, 2, 564, 565, 7, 119, 2, 2, 565, 566, 7, 118, 2, 2, 566, 567, 7, 103, 2, 2, 567, 568, 7, 102, 2, 2, 568, 56, 3, 2, 2, 2, 569, 570, 7, 98, 2, 2, 570, 571, 7, 102, 2, 2, 571, 572, 7, 103, 2, 2, 572, 573, 7, 110, 2, 2, 573, 574, 7, 99, 2, 2, 574, 575, 7, 123, 2, 2, 575, 576, 7, 97, 2, 2, 576, 577, 7, 111, 2, 2, 577, 578, 7, 113, 2, 2, 578, 579, 7, 102, 2, 2, 579, 580, 7, 103, 2, 2, 580, 581, 7, 97, 2, 2, 581, 582, 7, 114, 2, 2, 582, 583, 7, 99, 2, 2, 583, 584, 7, 118, 2, 2, 584, 585, 7, 106, 2, 2, 585, 58, 3, 2, 2, 2, 586, 587, 7, 98, 2, 2, 587, 588, 7, 102, 2, 2, 588, 589, 7, 103, 2, 2, 589, 590, 7, 110, 2, 2, 590, 591, 7, 99, 2, 2, 591, 592, 7, 123, 2, 2, 592, 593, 7, 97, 2, 2, 593, 594, 7, 111, 2, 2, 594, 595, 7, 113, 2, 2, 595, 596, 7, 102, 2, 2, 596, 597, 7, 103, 2, 2, 597, 598, 7, 97, 2, 2, 598, 599, 7, 119, 2, 2, 599, 600, 7, 112, 2, 2, 600, 601, 7, 107, 2, 2, 601, 602, 7, 118, 2, 2, 602, 60, 3, 2, 2, 2, 603, 604, 7, 98, 2, 2, 604, 605, 7, 102, 2, 2, 605, 606, 7, 103, 2, 2, 606, 607, 7, 110, 2, 2, 607, 608, 7, 99, 2, 2, 608, 609, 7, 123, 2, 2, 609, 610, 7, 97, 2, 2, 610, 611, 7, 111, 2, 2, 611, 612, 7, 113, 2, 2, 612, 613, 7, 102, 2, 2, 613, 614, 7, 103, 2, 2, 614, 615, 7, 97, 2, 2, 615, 616, 7, 124, 2, 2, 616, 617, 7, 103, 2, 2, 617, 618, 7, 116, 2, 2, 618, 619, 7, 113, 2, 2, 619, 62, 3, 2, 2, 2, 620, 621, 7, 98, 2, 2, 621, 622, 7, 119, 2, 2, 622, 623, 7, 112, 2, 2, 623, 624, 7, 102, 2, 2, 624, 625, 7, 103, 2, 2, 625, 626, 7, 104, 2, 2, 626, 627, 7, 107, 2, 2, 627, 628, 7, 112, 2, 2, 628, 629, 7, 103, 2, 2, 629, 630, 7, 99, 2, 2, 630, 631, 7, 110, 2, 2, 631, 632, 7, 110, 2, 2, 632, 64, 3, 2, 2, 2, 633, 634, 7, 98, 2, 2, 634, 635, 7, 99, 2, 2, 635, 636, 7, 101, 2, 2, 636, 637, 7, 101, 2, 2, 637, 638, 7, 103, 2, 2, 638, 639, 7, 110, 2, 2, 639, 640, 7, 103, 2, 2, 640, 641, 7, 116, 2, 2, 641, 642, 7, 99, 2, 2, 642, 643, 7, 118, 2, 2, 643, 644, 7, 103, 2, 2, 644, 66, 3, 2, 2, 2, 645, 646, 7, 98, 2, 2, 646, 647, 7, 112, 2, 2, 647, 648, 7, 113, 2, 2, 648, 649, 7, 99, 2, 2, 649, 650, 7, 101, 2, 2, 650, 651, 7, 101, 2, 2, 651, 652, 7, 103, 2, 2, 652, 653, 7, 110, 2, 2, 653, 654, 7, 103, 2, 2, 654, 655, 7, 116, 2, 2, 655, 656, 7, 99, 2, 2, 656, 657, 7, 118, 2, 2, 657, 658, 7, 103, 2, 2, 658, 68, 3, 2, 2, 2, 659, 660, 7, 98, 2, 2, 660, 661, 7, 114, 2, 2, 661, 662, 7, 116, 2, 2, 662, 663, 7, 113, 2, 2, 663, 664, 7, 118, 2, 2, 664, 665, 7, 103, 2, 2, 665, 666, 7, 101, 2, 2, 666, 667, 7, 118, 2, 2, 667, 70, 3, 2, 2, 2, 668, 669, 7, 98, 2, 2, 669, 670, 7, 119, 2, 2, 670, 671, 7, 117, 2, 2, 671, 672, 7, 103, 2, 2, 672, 673, 7, 110, 2, 2, 673, 674, 7, 107, 2, 2, 674, 675, 7, 100, 2, 2, 675, 72, 3, 2, 2, 2, 676, 677, 7, 98, 2, 2, 677, 678, 7, 102, 2, 2, 678, 679, 7, 107, 2, 2, 679, 680, 7, 117, 2, 2, 680, 681, 7, 99, 2, 2, 681, 682, 7, 100, 2, 2, 682, 683, 7, 110, 2, 2, 683, 684, 7, 103, 2, 2, 684, 685, 7, 97, 2, 2, 685, 686, 7, 114, 2, 2, 686, 687, 7, 113, 2, 2, 687, 688, 7, 116, 2, 2, 688, 689, 7, 118, 2, 2, 689, 690, 7, 104, 2, 2, 690, 691, 7, 99, 2, 2, 691, 692, 7, 119, 2, 2, 692, 693, 7, 110, 2, 2, 693, 694, 7, 118, 2, 2, 694, 695, 7, 117, 2, 2, 695, 74, 3, 2, 2, 2, 696, 697, 7, 98, 2, 2, 697, 698, 7, 103, 2, 2, 698, 699, 7, 112, 2, 2, 699, 700, 7, 99, 2, 2, 700, 701, 7, 100, 2, 2, 701, 702, 7, 110, 2, 2, 702, 703, 7, 103, 2, 2, 703, 704, 7, 97, 2, 2, 704, 705, 7, 114, 2, 2, 705, 706, 7, 113, 2, 2, 706, 707, 7, 116, 2, 2, 707, 708, 7, 118, 2, 2, 708, 709, 7, 104, 2, 2, 709, 710, 7, 99, 2, 2, 710, 711, 7, 119, 2, 2, 711, 712, 7, 110, 2, 2, 712, 713, 7, 118, 2, 2, 713, 714, 7, 117, 2, 2, 714, 76, 3, 2, 2, 2, 715, 716, 7, 98, 2, 2, 716, 717, 7, 112, 2, 2, 717, 718, 7, 113, 2, 2, 718, 719, 7, 117, 2, 2, 719, 720, 7, 119, 2, 2, 720, 721, 7, 114, 2, 2, 721, 722, 7, 114, 2, 2, 722, 723, 7, 116, 2, 2, 723, 724, 7, 103, 2, 2, 724, 725, 7, 117, 2, 2, 725, 726, 7, 117, 2, 2, 726, 727, 7, 97, 2, 2, 727, 728, 7, 104, 2, 2, 728, 729, 7, 99, 2, 2, 729, 730, 7, 119, 2, 2, 730, 731, 7, 110, 2, 2, 731, 732, 7, 118, 2, 2, 732, 733, 7, 117, 2, 2, 733, 78, 3, 2, 2, 2, 734, 735, 7, 98, 2, 2, 735, 736, 7, 117, 2, 2, 736, 737, 7, 119, 2, 2, 737, 738, 7, 114, 2, 2, 738, 739, 7, 114, 2, 2, 739, 740, 7, 116, 2, 2, 740, 741, 7, 103, 2, 2, 741, 742, 7, 117, 2, 2, 742, 743, 7, 117, 2, 2, 743, 744, 7, 97, 2, 2, 744, 745, 7, 104, 2, 2, 745, 746, 7, 99, 2, 2, 746, 747, 7, 119, 2, 2, 747, 748, 7, 110, 2, 2, 748, 749, 7, 118, 2, 2, 749, 750, 7, 117, 2, 2, 750, 80, 3, 2, 2, 2, 751, 752, 7, 98, 2, 2, 752, 753, 7, 117, 2, 2, 753, 754, 7, 107, 2, 2, 754, 755, 7, 105, 2, 2, 755, 756, 7, 112, 2, 2, 756, 757, 7, 103, 2, 2, 757, 758, 7, 102, 2, 2, 758, 82, 3, 2, 2, 2, 759, 760, 7, 98, 2, 2, 760, 761, 7, 119, 2, 2, 761, 762, 7, 112, 2, 2, 762, 763, 7, 117, 2, 2, 763, 764, 7, 107, 2, 2, 764, 765, 7, 105, 2, 2, 765, 766, 7, 112, 2, 2, 766, 767, 7, 103, 2, 2, 767, 768, 7, 102, 2, 2, 768, 84, 3, 2, 2, 2, 769, 770, 7, 98, 2, 2, 770, 771, 7, 103, 2, 2, 771, 772, 7, 112, 2, 2, 772, 773, 7, 102, 2, 2, 773, 774, 7, 114, 2, 2, 774, 775, 7, 116, 2, 2, 775, 776, 7, 113, 2, 2, 776, 777, 7, 118, 2, 2, 777, 778, 7, 103, 2, 2, 778, 779, 7, 101, 2, 2, 779, 780, 7, 118, 2, 2, 780, 86, 3, 2, 2, 2, 781, 782, 7, 98, 2, 2, 782, 783, 7, 114, 2, 2, 783, 784, 7, 116, 2, 2, 784, 785, 7, 113, 2, 2, 785, 786, 7, 118, 2, 2, 786, 787, 7, 103, 2, 2, 787, 788, 7, 101, 2, 2, 788, 789, 7, 118, 2, 2, 789, 790, 7, 103, 2, 2, 790, 791, 7, 102, 2, 2, 791, 88, 3, 2, 2, 2, 792, 793, 7, 98, 2, 2, 793, 794, 7, 103, 2, 2, 794, 795, 7, 112, 2, 2, 795, 796, 7, 102, 2, 2, 796, 797, 7, 114, 2, 2, 797, 798, 7, 116, 2, 2, 798, 799, 7, 113, 2, 2, 799, 800, 7, 118, 2, 2, 800, 801, 7, 103, 2, 2, 801, 802, 7, 101, 2, 2, 802, 803, 7, 118, 2, 2, 803, 804, 7, 103, 2, 2, 804, 805, 7, 102, 2, 2, 805, 90, 3, 2, 2, 2, 806, 807, 7, 98, 2, 2, 807, 808, 7, 103, 2, 2, 808, 809, 7, 122, 2, 2, 809, 810, 7, 114, 2, 2, 810, 811, 7, 99, 2, 2, 811, 812, 7, 112, 2, 2, 812, 813, 7, 102, 2, 2, 813, 814, 7, 97, 2, 2, 814, 815, 7, 120, 2, 2, 815, 816, 7, 103, 2, 2, 816, 817, 7, 101, 2, 2, 817, 818, 7, 118, 2, 2, 818, 819, 7, 113, 2, 2, 819, 820, 7, 116, 2, 2, 820, 821, 7, 112, 2, 2, 821, 822, 7, 103, 2, 2, 822, 823, 7, 118, 2, 2, 823, 824, 7, 117, 2, 2, 824, 92, 3, 2, 2, 2, 825, 826, 7, 98, 2, 2, 826, 827, 7, 112, 2, 2, 827, 828, 7, 113, 2, 2, 828, 829, 7, 103, 2, 2, 829, 830, 7, 122, 2, 2, 830, 831, 7, 114, 2, 2, 831, 832, 7, 99, 2, 2, 832, 833, 7, 112, 2, 2, 833, 834, 7, 102, 2, 2, 834, 835, 7, 97, 2, 2, 835, 836, 7, 120, 2, 2, 836, 837, 7, 103, 2, 2, 837, 838, 7, 101, 2, 2, 838, 839, 7, 118, 2, 2, 839, 840, 7, 113, 2, 2, 840, 841, 7, 116, 2, 2, 841, 842, 7, 112, 2, 2, 842, 843, 7, 103, 2, 2, 843, 844, 7, 118, 2, 2, 844, 845, 7, 117, 2, 2, 845, 94, 3, 2, 2, 2, 846, 847, 7, 98, 2, 2, 847, 848, 7, 99, 2, 2, 848, 849, 7, 119, 2, 2, 849, 850, 7, 118, 2, 2, 850, 851, 7, 113, 2, 2, 851, 852, 7, 103, 2, 2, 852, 853, 7, 122, 2, 2, 853, 854, 7, 114, 2, 2, 854, 855, 7, 99, 2, 2, 855, 856, 7, 112, 2, 2, 856, 857, 7, 102, 2, 2, 857, 858, 7, 97, 2, 2, 858, 859, 7, 120, 2, 2, 859, 860, 7, 103, 2, 2, 860, 861, 7, 101, 2, 2, 861, 862, 7, 118, 2, 2, 862, 863, 7, 113, 2, 2, 863, 864, 7, 116, 2, 2, 864, 865, 7, 112, 2, 2, 865, 866, 7, 103, 2, 2, 866, 867, 7, 118, 2, 2, 867, 868, 7, 117, 2, 2, 868, 96, 3, 2, 2, 2, 869, 870, 7, 98, 2, 2, 870, 871, 7, 116, 2, 2, 871, 872, 7, 103, 2, 2, 872, 873, 7, 111, 2, 2, 873, 874, 7, 113, 2, 2, 874, 875, 7, 120, 2, 2, 875, 876, 7, 103, 2, 2, 876, 877, 7, 97, 2, 2, 877, 878, 7, 105, 2, 2, 878, 879, 7, 99, 2, 2, 879, 880, 7, 118, 2, 2, 880, 881, 7, 103, 2, 2, 881, 882, 7, 112, 2, 2, 882, 883, 7, 99, 2, 2, 883, 884, 7, 111, 2, 2, 884, 885, 7, 103, 2, 2, 885, 98, 3, 2, 2, 2, 886, 887, 7, 98, 2, 2, 887, 888, 7, 112, 2, 2, 888, 889, 7, 113, 2, 2, 889, 890, 7, 116, 2, 2, 890, 891, 7, 103, 2, 2, 891, 892, 7, 111, 2, 2, 892, 893, 7, 113, 2, 2, 893, 894, 7, 120, 2, 2, 894, 895, 7, 103, 2, 2, 895, 896, 7, 97, 2, 2, 896, 897, 7, 105, 2, 2, 897, 898, 7, 99, 2, 2, 898, 899, 7, 118, 2, 2, 899, 900, 7, 103, 2, 2, 900, 901, 7, 112, 2, 2, 901, 902, 7, 99, 2, 2, 902, 903, 7, 111, 2, 2, 903, 904, 7, 103, 2, 2, 904, 905, 7, 117, 2, 2, 905, 100, 3, 2, 2, 2, 906, 907, 7, 98, 2, 2, 907, 908, 7, 116, 2, 2, 908, 909, 7, 103, 2, 2, 909, 910, 7, 111, 2, 2, 910, 911, 7, 113, 2, 2, 911, 912, 7, 120, 2, 2, 912, 913, 7, 103, 2, 2, 913, 914, 7, 97, 2, 2, 914, 915, 7, 112, 2, 2, 915, 916, 7, 103, 2, 2, 916, 917, 7, 118, 2, 2, 917, 918, 7, 112, 2, 2, 918, 919, 7, 99, 2, 2, 919, 920, 7, 111, 2, 2, 920, 921, 7, 103, 2, 2, 921, 102, 3, 2, 2, 2, 922, 923, 7, 98, 2, 2, 923, 924, 7, 112, 2, 2, 924, 925, 7, 113, 2, 2, 925, 926, 7, 116, 2, 2, 926, 927, 7, 103, 2, 2, 927, 928, 7, 111, 2, 2, 928, 929, 7, 113, 2, 2, 929, 930, 7, 120, 2, 2, 930, 931, 7, 103, 2, 2, 931, 932, 7, 97, 2, 2, 932, 933, 7, 112, 2, 2, 933, 934, 7, 103, 2, 2, 934, 935, 7, 118, 2, 2, 935, 936, 7, 112, 2, 2, 936, 937, 7, 99, 2, 2, 937, 938, 7, 111, 2, 2, 938, 939, 7, 103, 2, 2, 939, 940, 7, 117, 2, 2, 940, 104, 3, 2, 2, 2, 941, 942, 7, 98, 2, 2, 942, 943, 7, 97, 2, 2, 943, 944, 7, 97, 2, 2, 944, 945, 7, 72, 2, 2, 945, 946, 7, 75, 2, 2, 946, 947, 7, 78, 2, 2, 947, 948, 7, 71, 2, 2, 948, 949, 7, 97, 2, 2, 949, 950, 7, 97, 2, 2, 950, 106, 3, 2, 2, 2, 951, 952, 7, 98, 2, 2, 952, 953, 7, 97, 2, 2, 953, 954, 7, 97, 2, 2, 954, 955, 7, 78, 2, 2, 955, 956, 7, 75, 2, 2, 956, 957, 7, 80, 2, 2, 957, 958, 7, 71, 2, 2, 958, 959, 7, 97, 2, 2, 959, 960, 7, 97, 2, 2, 960, 108, 3, 2, 2, 2, 961, 962, 7, 111, 2, 2, 962, 963, 7, 113, 2, 2, 963, 964, 7, 102, 2, 2, 964, 965, 7, 119, 2, 2, 965, 966, 7, 110, 2, 2, 966, 967, 7, 103, 2, 2, 967, 110, 3, 2, 2, 2, 968, 969, 7, 103, 2, 2, 969, 970, 7, 112, 2, 2, 970, 971, 7, 102, 2, 2, 971, 972, 7, 111, 2, 2, 972, 973, 7, 113, 2, 2, 973, 974, 7, 102, 2, 2, 974, 975, 7, 119, 2, 2, 975, 976, 7, 110, 2, 2, 976, 977, 7, 103, 2, 2, 977, 112, 3, 2, 2, 2, 978, 979, 7, 107, 2, 2, 979, 980, 7, 112, 2, 2, 980, 981, 7, 118, 2, 2, 981, 982, 7, 103, 2, 2, 982, 983, 7, 116, 2, 2, 983, 984, 7, 104, 2, 2, 984, 985, 7, 99, 2, 2, 985, 986, 7, 101, 2, 2, 986, 987, 7, 103, 2, 2, 987, 114, 3, 2, 2, 2, 988, 989, 7, 103, 2, 2, 989, 990, 7, 112, 2, 2, 990, 991, 7, 102, 2, 2, 991, 992, 7, 107, 2, 2, 992, 993, 7, 112, 2, 2, 993, 994, 7, 118, 2, 2, 994, 995, 7, 103, 2, 2, 995, 996, 7, 116, 2, 2, 996, 997, 7, 104, 2, 2, 997, 998, 7, 99, 2, 2, 998, 999, 7, 101, 2, 2, 999, 1000, 7, 103, 2, 2, 1000, 116, 3, 2, 2, 2, 1001, 1002, 7, 114, 2, 2, 1002, 1003, 7, 116, 2, 2, 1003, 1004, 7, 113, 2, 2, 1004, 1005, 7, 105, 2, 2, 1005, 1006, 7, 116, 2, 2, 1006, 1007, 7, 99, 2, 2, 1007, 1008, 7, 111, 2, 2, 1008, 118, 3, 2, 2, 2, 1009, 1010, 7, 103, 2, 2, 1010, 1011, 7, 112, 2, 2, 1011, 1012, 7, 102, 2, 2, 1012, 1013, 7, 114, 2, 2, 1013, 1014, 7, 116, 2, 2, 1014, 1015, 7, 113, 2, 2, 1015, 1016, 7, 105, 2, 2, 1016, 1017, 7, 116, 2, 2, 1017, 1018, 7, 99, 2, 2, 1018, 1019, 7, 111, 2, 2, 1019, 120, 3, 2, 2, 2, 1020, 1021, 7, 114, 2, 2, 1021, 1022, 7, 116, 2, 2, 1022, 1023, 7, 107, 2, 2, 1023, 1024, 7, 111, 2, 2, 1024, 1025, 7, 107, 2, 2, 1025, 1026, 7, 120, 2, 2, 1026, 1027, 7, 107, 2, 2, 1027, 1028, 7, 118, 2, 2, 1028, 1029, 7, 103, 2, 2, 1029, 122, 3, 2, 2, 2, 1030, 1031, 7, 103, 2, 2, 1031, 1032, 7, 112, 2, 2, 1032, 1033, 7, 102, 2, 2, 1033, 1034, 7, 114, 2, 2, 1034, 1035, 7, 116, 2, 2, 1035, 1036, 7, 107, 2, 2, 1036, 1037, 7, 111, 2, 2, 1037, 1038, 7, 107, 2, 2, 1038, 1039, 7, 118, 2, 2, 1039, 1040, 7, 107, 2, 2, 1040, 1041, 7, 120, 2, 2, 1041, 1042, 7, 103, 2, 2, 1042, 124, 3, 2, 2, 2, 1043, 1044, 7, 114, 2, 2, 1044, 1045, 7, 99, 2, 2, 1045, 1046, 7, 101, 2, 2, 1046, 1047, 7, 109, 2, 2, 1047, 1048, 7, 99, 2, 2, 1048, 1049, 7, 105, 2, 2, 1049, 1050, 7, 103, 2, 2, 1050, 126, 3, 2, 2, 2, 1051, 1052, 7, 103, 2, 2, 1052, 1053, 7, 112, 2, 2, 1053, 1054, 7, 102, 2, 2, 1054, 1055, 7, 114, 2, 2, 1055, 1056, 7, 99, 2, 2, 1056, 1057, 7, 101, 2, 2, 1057, 1058, 7, 109, 2, 2, 1058, 1059, 7, 99, 2, 2, 1059, 1060, 7, 105, 2, 2, 1060, 1061, 7, 103, 2, 2, 1061, 128, 3, 2, 2, 2, 1062, 1063, 7, 101, 2, 2, 1063, 1064, 7, 106, 2, 2, 1064, 1065, 7, 103, 2, 2, 1065, 1066, 7, 101, 2, 2, 1066, 1067, 7, 109, 2, 2, 1067, 1068, 7, 103, 2, 2, 1068, 1069, 7, 116, 2, 2, 1069, 130, 3, 2, 2, 2, 1070, 1071, 7, 103, 2, 2, 1071, 1072, 7, 112, 2, 2, 1072, 1073, 7, 102, 2, 2, 1073, 1074, 7, 101, 2, 2, 1074, 1075, 7, 106, 2, 2, 1075, 1076, 7, 103, 2, 2, 1076, 1077, 7, 101, 2, 2, 1077, 1078, 7, 109, 2, 2, 1078, 1079, 7, 103, 2, 2, 1079, 1080, 7, 116, 2, 2, 1080, 132, 3, 2, 2, 2, 1081, 1082, 7, 101, 2, 2, 1082, 1083, 7, 113, 2, 2, 1083, 1084, 7, 112, 2, 2, 1084, 1085, 7, 104, 2, 2, 1085, 1086, 7, 107, 2, 2, 1086, 1087, 7, 105, 2, 2, 1087, 134, 3, 2, 2, 2, 1088, 1089, 7, 103, 2, 2, 1089, 1090, 7, 112, 2, 2, 1090, 1091, 7, 102, 2, 2, 1091, 1092, 7, 101, 2, 2, 1092, 1093, 7, 113, 2, 2, 1093, 1094, 7, 112, 2, 2, 1094, 1095, 7, 104, 2, 2, 1095, 1096, 7, 107, 2, 2, 1096, 1097, 7, 105, 2, 2, 1097, 136, 3, 2, 2, 2, 1098, 1099, 7, 98, 2, 2, 1099, 1103, 9, 3, 2, 2, 1100, 1102, 9, 4, 2, 2, 1101, 1100, 3, 2, 2, 2, 1102, 1105, 3, 2, 2, 2, 1103, 1101, 3, 2, 2, 2, 1103, 1104, 3, 2, 2, 2, 1104, 138, 3, 2, 2, 2, 1105, 1103, 3, 2, 2, 2, 1106, 1107, 7, 98, 2, 2, 1107, 1108, 7, 94, 2, 2, 1108, 1112, 3, 2, 2, 2, 1109, 1111, 10, 5, 2, 2, 1110, 1109, 3, 2, 2, 2, 1111, 1114, 3, 2, 2, 2, 1112, 1113, 3, 2, 2, 2, 1112, 1110, 3, 2, 2, 2, 1113, 1115, 3, 2, 2, 2, 1114, 1112, 3, 2, 2, 2, 1115, 1116, 5, 201, 101, 2, 1116, 140, 3, 2, 2, 2, 1117, 1123, 7, 36, 2, 2, 1118, 1119, 7, 94, 2, 2, 1119, 1122, 10, 6, 2, 2, 1120, 1122, 10, 7, 2, 2, 1121, 1118, 3, 2, 2, 2, 1121, 1120, 3, 2, 2, 2, 1122, 1125, 3, 2, 2, 2, 1123, 1121, 3, 2, 2, 2, 1123, 1124, 3, 2, 2, 2, 1124, 1126, 3, 2, 2, 2, 1125, 1123, 3, 2, 2, 2, 1126, 1127, 7, 36, 2, 2, 1127, 142, 3, 2, 2, 2, 1128, 1132, 9, 3, 2, 2, 1129, 1131, 9, 4, 2, 2, 1130, 1129, 3, 2, 2, 2, 1131, 1134, 3, 2, 2, 2, 1132, 1130, 3, 2, 2, 2, 1132, 1133, 3, 2, 2, 2, 1133, 144, 3, 2, 2, 2, 1134, 1132, 3, 2, 2, 2, 1135, 1138, 5, 201, 101, 2, 1136, 1138, 5, 203, 102, 2, 1137, 1135, 3, 2, 2, 2, 1137, 1136, 3, 2, 2, 2, 1138, 1139, 3, 2, 2, 2, 1139, 1137, 3, 2, 2, 2, 1139, 1140, 3, 2, 2, 2, 1140, 146, 3, 2, 2, 2, 1141, 1145, 7, 37, 2, 2, 1142, 1144, 5, 201, 101, 2, 1143, 1142, 3, 2, 2, 2, 1144, 1147, 3, 2, 2, 2, 1145, 1143, 3, 2, 2, 2, 1145, 1146, 3, 2, 2, 2, 1146, 1148, 3, 2, 2, 2, 1147, 1145, 3, 2, 2, 2, 1148, 1152, 9, 8, 2, 2, 1149, 1151, 9, 9, 2, 2, 1150, 1149, 3, 2, 2, 2, 1151, 1154, 3, 2, 2, 2, 1152, 1150, 3, 2, 2, 2, 1152, 1153, 3, 2, 2, 2, 1153, 148, 3, 2, 2, 2, 1154, 1152, 3, 2, 2, 2, 1155, 1158, 5, 201, 101, 2, 1156, 1158, 5, 203, 102, 2, 1157, 1155, 3, 2, 2, 2, 1157, 1156, 3, 2, 2, 2, 1158, 1161, 3, 2, 2, 2, 1159, 1157, 3, 2, 2, 2, 1159, 1160, 3, 2, 2, 2, 1160, 1163, 3, 2, 2, 2, 1161, 1159, 3, 2, 2, 2, 1162, 1164, 9, 8, 2, 2, 1163, 1162, 3, 2, 2, 2, 1164, 1165, 3, 2, 2, 2, 1165, 1163, 3, 2, 2, 2, 1165, 1166, 3, 2, 2, 2, 1166, 1171, 3, 2, 2, 2, 1167, 1170, 5, 201, 101, 2, 1168, 1170, 5, 203, 102, 2, 1169, 1167, 3, 2, 2, 2, 1169, 1168, 3, 2, 2, 2, 1170, 1173, 3, 2, 2, 2, 1171, 1169, 3, 2, 2, 2, 1171, 1172, 3, 2, 2, 2, 1172, 1185, 3, 2, 2, 2, 1173, 1171, 3, 2, 2, 2, 1174, 1175, 7, 111, 2, 2, 1175, 1186, 7, 117, 2, 2, 1176, 1177, 7, 119, 2, 2, 1177, 1186, 7, 117, 2, 2, 1178, 1179, 7, 112, 2, 2, 1179, 1186, 7, 117, 2, 2, 1180, 1181, 7, 114, 2, 2, 1181, 1186, 7, 117, 2, 2, 1182, 1183, 7, 104, 2, 2, 1183, 1186, 7, 117, 2, 2, 1184, 1186, 7, 117, 2, 2, 1185, 1174, 3, 2, 2, 2, 1185, 1176, 3, 2, 2, 2, 1185, 1178, 3, 2, 2, 2, 1185, 1180, 3, 2, 2, 2, 1185, 1182, 3, 2, 2, 2, 1185, 1184, 3, 2, 2, 2, 1186, 1191, 3, 2, 2, 2, 1187, 1190, 5, 201, 101, 2, 1188, 1190, 5, 203, 102, 2, 1189, 1187, 3, 2, 2, 2, 1189, 1188, 3, 2, 2, 2, 1190, 1193, 3, 2, 2, 2, 1191, 1189, 3, 2, 2, 2, 1191, 1192, 3, 2, 2, 2, 1192, 1194, 3, 2, 2, 2, 1193, 1191, 3, 2, 2, 2, 1194, 1199, 7, 49, 2, 2, 1195, 1198, 5, 201, 101, 2, 1196, 1198, 5, 203, 102, 2, 1197, 1195, 3, 2, 2, 2, 1197, 1196, 3, 2, 2, 2, 1198, 1201, 3, 2, 2, 2, 1199, 1197, 3, 2, 2, 2, 1199, 1200, 3, 2, 2, 2, 1200, 1203, 3, 2, 2, 2, 1201, 1199, 3, 2, 2, 2, 1202, 1204, 9, 8, 2, 2, 1203, 1202, 3, 2, 2, 2, 1204, 1205, 3, 2, 2, 2, 1205, 1203, 3, 2, 2, 2, 1205, 1206, 3, 2, 2, 2, 1206, 1211, 3, 2, 2, 2, 1207, 1210, 5, 201, 101, 2, 1208, 1210, 5, 203, 102, 2, 1209, 1207, 3, 2, 2, 2, 1209, 1208, 3, 2, 2, 2, 1210, 1213, 3, 2, 2, 2, 1211, 1209, 3, 2, 2, 2, 1211, 1212, 3, 2, 2, 2, 1212, 1225, 3, 2, 2, 2, 1213, 1211, 3, 2, 2, 2, 1214, 1215, 7, 111, 2, 2, 1215, 1226, 7, 117, 2, 2, 1216, 1217, 7, 119, 2, 2, 1217, 1226, 7, 117, 2, 2, 1218, 1219, 7, 112, 2, 2, 1219, 1226, 7, 117, 2, 2, 1220, 1221, 7, 114, 2, 2, 1221, 1226, 7, 117, 2, 2, 1222, 1223, 7, 104, 2, 2, 1223, 1226, 7, 117, 2, 2, 1224, 1226, 7, 117, 2, 2, 1225, 1214, 3, 2, 2, 2, 1225, 1216, 3, 2, 2, 2, 1225, 1218, 3, 2, 2, 2, 1225, 1220, 3, 2, 2, 2, 1225, 1222, 3, 2, 2, 2, 1225, 1224, 3, 2, 2, 2, 1226, 150, 3, 2, 2, 2, 1227, 1232, 4, 51, 59, 2, 1228, 1231, 7, 97, 2, 2, 1229, 1231, 5, 179, 90, 2, 1230, 1228, 3, 2, 2, 2, 1230, 1229, 3, 2, 2, 2, 1231, 1234, 3, 2, 2, 2, 1232, 1230, 3, 2, 2, 2, 1232, 1233, 3, 2, 2, 2, 1233, 152, 3, 2, 2, 2, 1234, 1232, 3, 2, 2, 2, 1235, 1305, 5, 163, 82, 2, 1236, 1240, 5, 151, 76, 2, 1237, 1239, 5, 201, 101, 2, 1238, 1237, 3, 2, 2, 2, 1239, 1242, 3, 2, 2, 2, 1240, 1238, 3, 2, 2, 2, 1240, 1241, 3, 2, 2, 2, 1241, 1244, 3, 2, 2, 2, 1242, 1240, 3, 2, 2, 2, 1243, 1236, 3, 2, 2, 2, 1243, 1244, 3, 2, 2, 2, 1244, 1245, 3, 2, 2, 2, 1245, 1249, 5, 171, 86, 2, 1246, 1248, 5, 201, 101, 2, 1247, 1246, 3, 2, 2, 2, 1248, 1251, 3, 2, 2, 2, 1249, 1247, 3, 2, 2, 2, 1249, 1250, 3, 2, 2, 2, 1250, 1255, 3, 2, 2, 2, 1251, 1249, 3, 2, 2, 2, 1252, 1254, 5, 163, 82, 2, 1253, 1252, 3, 2, 2, 2, 1254, 1257, 3, 2, 2, 2, 1255, 1253, 3, 2, 2, 2, 1255, 1256, 3, 2, 2, 2, 1256, 1305, 3, 2, 2, 2, 1257, 1255, 3, 2, 2, 2, 1258, 1262, 5, 151, 76, 2, 1259, 1261, 5, 201, 101, 2, 1260, 1259, 3, 2, 2, 2, 1261, 1264, 3, 2, 2, 2, 1262, 1260, 3, 2, 2, 2, 1262, 1263, 3, 2, 2, 2, 1263, 1266, 3, 2, 2, 2, 1264, 1262, 3, 2, 2, 2, 1265, 1258, 3, 2, 2, 2, 1265, 1266, 3, 2, 2, 2, 1266, 1267, 3, 2, 2, 2, 1267, 1271, 5, 171, 86, 2, 1268, 1270, 5, 201, 101, 2, 1269, 1268, 3, 2, 2, 2, 1270, 1273, 3, 2, 2, 2, 1271, 1269, 3, 2, 2, 2, 1271, 1272, 3, 2, 2, 2, 1272, 1274, 3, 2, 2, 2, 1273, 1271, 3, 2, 2, 2, 1274, 1278, 5, 193, 97, 2, 1275, 1277, 7, 97, 2, 2, 1276, 1275, 3, 2, 2, 2, 1277, 1280, 3, 2, 2, 2, 1278, 1276, 3, 2, 2, 2, 1278, 1279, 3, 2, 2, 2, 1279, 1305, 3, 2, 2, 2, 1280, 1278, 3, 2, 2, 2, 1281, 1285, 5, 151, 76, 2, 1282, 1284, 5, 201, 101, 2, 1283, 1282, 3, 2, 2, 2, 1284, 1287, 3, 2, 2, 2, 1285, 1283, 3, 2, 2, 2, 1285, 1286, 3, 2, 2, 2, 1286, 1289, 3, 2, 2, 2, 1287, 1285, 3, 2, 2, 2, 1288, 1281, 3, 2, 2, 2, 1288, 1289, 3, 2, 2, 2, 1289, 1290, 3, 2, 2, 2, 1290, 1294, 5, 171, 86, 2, 1291, 1293, 5, 201, 101, 2, 1292, 1291, 3, 2, 2, 2, 1293, 1296, 3, 2, 2, 2, 1294, 1292, 3, 2, 2, 2, 1294, 1295, 3, 2, 2, 2, 1295, 1297, 3, 2, 2, 2, 1296, 1294, 3, 2, 2, 2, 1297, 1301, 5, 195, 98, 2, 1298, 1300, 7, 97, 2, 2, 1299, 1298, 3, 2, 2, 2, 1300, 1303, 3, 2, 2, 2, 1301, 1299, 3, 2, 2, 2, 1301, 1302, 3, 2, 2, 2, 1302, 1305, 3, 2, 2, 2, 1303, 1301, 3, 2, 2, 2, 1304, 1235, 3, 2, 2, 2, 1304, 1243, 3, 2, 2, 2, 1304, 1265, 3, 2, 2, 2, 1304, 1288, 3, 2, 2, 2, 1305, 154, 3, 2, 2, 2, 1306, 1310, 5, 151, 76, 2, 1307, 1309, 5, 201, 101, 2, 1308, 1307, 3, 2, 2, 2, 1309, 1312, 3, 2, 2, 2, 1310, 1308, 3, 2, 2, 2, 1310, 1311, 3, 2, 2, 2, 1311, 1314, 3, 2, 2, 2, 1312, 1310, 3, 2, 2, 2, 1313, 1306, 3, 2, 2, 2, 1313, 1314, 3, 2, 2, 2, 1314, 1315, 3, 2, 2, 2, 1315, 1319, 5, 173, 87, 2, 1316, 1318, 5, 201, 101, 2, 1317, 1316, 3, 2, 2, 2, 1318, 1321, 3, 2, 2, 2, 1319, 1317, 3, 2, 2, 2, 1319, 1320, 3, 2, 2, 2, 1320, 1322, 3, 2, 2, 2, 1321, 1319, 3, 2, 2, 2, 1322, 1323, 5, 165, 83, 2, 1323, 156, 3, 2, 2, 2, 1324, 1328, 5, 151, 76, 2, 1325, 1327, 5, 201, 101, 2, 1326, 1325, 3, 2, 2, 2, 1327, 1330, 3, 2, 2, 2, 1328, 1326, 3, 2, 2, 2, 1328, 1329, 3, 2, 2, 2, 1329, 1332, 3, 2, 2, 2, 1330, 1328, 3, 2, 2, 2, 1331, 1324, 3, 2, 2, 2, 1331, 1332, 3, 2, 2, 2, 1332, 1333, 3, 2, 2, 2, 1333, 1337, 5, 175, 88, 2, 1334, 1336, 5, 201, 101, 2, 1335, 1334, 3, 2, 2, 2, 1336, 1339, 3, 2, 2, 2, 1337, 1335, 3, 2, 2, 2, 1337, 1338, 3, 2, 2, 2, 1338, 1340, 3, 2, 2, 2, 1339, 1337, 3, 2, 2, 2, 1340, 1341, 5, 167, 84, 2, 1341, 158, 3, 2, 2, 2, 1342, 1346, 5, 151, 76, 2, 1343, 1345, 5, 201, 101, 2, 1344, 1343, 3, 2, 2, 2, 1345, 1348, 3, 2, 2, 2, 1346, 1344, 3, 2, 2, 2, 1346, 1347, 3, 2, 2, 2, 1347, 1350, 3, 2, 2, 2, 1348, 1346, 3, 2, 2, 2, 1349, 1342, 3, 2, 2, 2, 1349, 1350, 3, 2, 2, 2, 1350, 1351, 3, 2, 2, 2, 1351, 1355, 5, 177, 89, 2, 1352, 1354, 5, 201, 101, 2, 1353, 1352, 3, 2, 2, 2, 1354, 1357, 3, 2, 2, 2, 1355, 1353, 3, 2, 2, 2, 1355, 1356, 3, 2, 2, 2, 1356, 1358, 3, 2, 2, 2, 1357, 1355, 3, 2, 2, 2, 1358, 1359, 5, 169, 85, 2, 1359, 160, 3, 2, 2, 2, 1360, 1365, 5, 153, 77, 2, 1361, 1365, 5, 157, 79, 2, 1362, 1365, 5, 155, 78, 2, 1363, 1365, 5, 159, 80, 2, 1364, 1360, 3, 2, 2, 2, 1364, 1361, 3, 2, 2, 2, 1364, 1362, 3, 2, 2, 2, 1364, 1363, 3, 2, 2, 2, 1365, 162, 3, 2, 2, 2, 1366, 1372, 5, 179, 90, 2, 1367, 1371, 7, 97, 2, 2, 1368, 1371, 5, 179, 90, 2, 1369, 1371, 7, 34, 2, 2, 1370, 1367, 3, 2, 2, 2, 1370, 1368, 3, 2, 2, 2, 1370, 1369, 3, 2, 2, 2, 1371, 1374, 3, 2, 2, 2, 1372, 1370, 3, 2, 2, 2, 1372, 1373, 3, 2, 2, 2, 1373, 164, 3, 2, 2, 2, 1374, 1372, 3, 2, 2, 2, 1375, 1377, 7, 97, 2, 2, 1376, 1375, 3, 2, 2, 2, 1377, 1380, 3, 2, 2, 2, 1378, 1376, 3, 2, 2, 2, 1378, 1379, 3, 2, 2, 2, 1379, 1384, 3, 2, 2, 2, 1380, 1378, 3, 2, 2, 2, 1381, 1383, 5, 181, 91, 2, 1382, 1381, 3, 2, 2, 2, 1383, 1386, 3, 2, 2, 2, 1384, 1382, 3, 2, 2, 2, 1384, 1385, 3, 2, 2, 2, 1385, 1391, 3, 2, 2, 2, 1386, 1384, 3, 2, 2, 2, 1387, 1390, 9, 10, 2, 2, 1388, 1390, 5, 183, 92, 2, 1389, 1387, 3, 2, 2, 2, 1389, 1388, 3, 2, 2, 2, 1390, 1393, 3, 2, 2, 2, 1391, 1389, 3, 2, 2, 2, 1391, 1392, 3, 2, 2, 2, 1392, 166, 3, 2, 2, 2, 1393, 1391, 3, 2, 2, 2, 1394, 1396, 7, 97, 2, 2, 1395, 1394, 3, 2, 2, 2, 1396, 1399, 3, 2, 2, 2, 1397, 1395, 3, 2, 2, 2, 1397, 1398, 3, 2, 2, 2, 1398, 1403, 3, 2, 2, 2, 1399, 1397, 3, 2, 2, 2, 1400, 1402, 5, 185, 93, 2, 1401, 1400, 3, 2, 2, 2, 1402, 1405, 3, 2, 2, 2, 1403, 1401, 3, 2, 2, 2, 1403, 1404, 3, 2, 2, 2, 1404, 1410, 3, 2, 2, 2, 1405, 1403, 3, 2, 2, 2, 1406, 1409, 9, 10, 2, 2, 1407, 1409, 5, 187, 94, 2, 1408, 1406, 3, 2, 2, 2, 1408, 1407, 3, 2, 2, 2, 1409, 1412, 3, 2, 2, 2, 1410, 1408, 3, 2, 2, 2, 1410, 1411, 3, 2, 2, 2, 1411, 168, 3, 2, 2, 2, 1412, 1410, 3, 2, 2, 2, 1413, 1415, 7, 97, 2, 2, 1414, 1413, 3, 2, 2, 2, 1415, 1418, 3, 2, 2, 2, 1416, 1414, 3, 2, 2, 2, 1416, 1417, 3, 2, 2, 2, 1417, 1422, 3, 2, 2, 2, 1418, 1416, 3, 2, 2, 2, 1419, 1421, 5, 189, 95, 2, 1420, 1419, 3, 2, 2, 2, 1421, 1424, 3, 2, 2, 2, 1422, 1420, 3, 2, 2, 2, 1422, 1423, 3, 2, 2, 2, 1423, 1429, 3, 2, 2, 2, 1424, 1422, 3, 2, 2, 2, 1425, 1428, 9, 10, 2, 2, 1426, 1428, 5, 191, 96, 2, 1427, 1425, 3, 2, 2, 2, 1427, 1426, 3, 2, 2, 2, 1428, 1431, 3, 2, 2, 2, 1429, 1427, 3, 2, 2, 2, 1429, 1430, 3, 2, 2, 2, 1430, 170, 3, 2, 2, 2, 1431, 1429, 3, 2, 2, 2, 1432, 1434, 7, 41, 2, 2, 1433, 1435, 9, 11, 2, 2, 1434, 1433, 3, 2, 2, 2, 1434, 1435, 3, 2, 2, 2, 1435, 1436, 3, 2, 2, 2, 1436, 1437, 9, 12, 2, 2, 1437, 172, 3, 2, 2, 2, 1438, 1440, 7, 41, 2, 2, 1439, 1441, 9, 11, 2, 2, 1440, 1439, 3, 2, 2, 2, 1440, 1441, 3, 2, 2, 2, 1441, 1442, 3, 2, 2, 2, 1442, 1443, 9, 13, 2, 2, 1443, 174, 3, 2, 2, 2, 1444, 1446, 7, 41, 2, 2, 1445, 1447, 9, 11, 2, 2, 1446, 1445, 3, 2, 2, 2, 1446, 1447, 3, 2, 2, 2, 1447, 1448, 3, 2, 2, 2, 1448, 1449, 9, 14, 2, 2, 1449, 176, 3, 2, 2, 2, 1450, 1452, 7, 41, 2, 2, 1451, 1453, 9, 11, 2, 2, 1452, 1451, 3, 2, 2, 2, 1452, 1453, 3, 2, 2, 2, 1453, 1454, 3, 2, 2, 2, 1454, 1455, 9, 15, 2, 2, 1455, 178, 3, 2, 2, 2, 1456, 1457, 4, 50, 59, 2, 1457, 180, 3, 2, 2, 2, 1458, 1462, 5, 193, 97, 2, 1459, 1462, 5, 195, 98, 2, 1460, 1462, 4, 50, 51, 2, 1461, 1458, 3, 2, 2, 2, 1461, 1459, 3, 2, 2, 2, 1461, 1460, 3, 2, 2, 2, 1462, 182, 3, 2, 2, 2, 1463, 1467, 5, 193, 97, 2, 1464, 1467, 5, 197, 99, 2, 1465, 1467, 4, 50, 51, 2, 1466, 1463, 3, 2, 2, 2, 1466, 1464, 3, 2, 2, 2, 1466, 1465, 3, 2, 2, 2, 1467, 184, 3, 2, 2, 2, 1468, 1472, 5, 193, 97, 2, 1469, 1472, 5, 195, 98, 2, 1470, 1472, 4, 50, 57, 2, 1471, 1468, 3, 2, 2, 2, 1471, 1469, 3, 2, 2, 2, 1471, 1470, 3, 2, 2, 2, 1472, 186, 3, 2, 2, 2, 1473, 1477, 5, 193, 97, 2, 1474, 1477, 5, 197, 99, 2, 1475, 1477, 4, 50, 57, 2, 1476, 1473, 3, 2, 2, 2, 1476, 1474, 3, 2, 2, 2, 1476, 1475, 3, 2, 2, 2, 1477, 188, 3, 2, 2, 2, 1478, 1482, 5, 193, 97, 2, 1479, 1482, 5, 195, 98, 2, 1480, 1482, 9, 16, 2, 2, 1481, 1478, 3, 2, 2, 2, 1481, 1479, 3, 2, 2, 2, 1481, 1480, 3, 2, 2, 2, 1482, 190, 3, 2, 2, 2, 1483, 1487, 5, 193, 97, 2, 1484, 1487, 5, 197, 99, 2, 1485, 1487, 9, 16, 2, 2, 1486, 1483, 3, 2, 2, 2, 1486, 1484, 3, 2, 2, 2, 1486, 1485, 3, 2, 2, 2, 1487, 192, 3, 2, 2, 2, 1488, 1489, 9, 17, 2, 2, 1489, 194, 3, 2, 2, 2, 1490, 1491, 9, 18, 2, 2, 1491, 196, 3, 2, 2, 2, 1492, 1493, 9, 19, 2, 2, 1493, 198, 3, 2, 2, 2, 1494, 1496, 9, 8, 2, 2, 1495, 1494, 3, 2, 2, 2, 1496, 1497, 3, 2, 2, 2, 1497, 1495, 3, 2, 2, 2, 1497, 1498, 3, 2, 2, 2, 1498, 1499, 3, 2, 2, 2, 1499, 1501, 7, 48, 2, 2, 1500, 1502, 9, 8, 2, 2, 1501, 1500, 3, 2, 2, 2, 1502, 1503, 3, 2, 2, 2, 1503, 1501, 3, 2, 2, 2, 1503, 1504, 3, 2, 2, 2, 1504, 200, 3, 2, 2, 2, 1505, 1507, 9, 20, 2, 2, 1506, 1505, 3, 2, 2, 2, 1507, 1508, 3, 2, 2, 2, 1508, 1506, 3, 2, 2, 2, 1508, 1509, 3, 2, 2, 2, 1509, 202, 3, 2, 2, 2, 1510, 1512, 9, 21, 2, 2, 1511, 1510, 3, 2, 2, 2, 1512, 1513, 3, 2, 2, 2, 1513, 1511, 3, 2, 2, 2, 1513, 1514, 3, 2, 2, 2, 1514, 204, 3, 2, 2, 2, 1515, 1516, 7, 94, 2, 2, 1516, 1517, 9, 22, 2, 2, 1517, 206, 3, 2, 2, 2, 1518, 1519, 7, 94, 2, 2, 1519, 1520, 9, 23, 2, 2, 1520, 208, 3, 2, 2, 2, 1521, 1522, 9, 23, 2, 2, 1522, 210, 3, 2, 2, 2, 1523, 1524, 7, 98, 2, 2, 1524, 1525, 7, 36, 2, 2, 1525, 212, 3, 2, 2, 2, 1526, 1527, 7, 98, 2, 2, 1527, 1528, 7, 94, 2, 2, 1528, 1529, 7, 98, 2, 2, 1529, 1530, 7, 36, 2, 2, 1530, 214, 3, 2, 2, 2, 1531, 1532, 7, 98, 2, 2, 1532, 1533, 7, 98, 2, 2, 1533, 216, 3, 2, 2, 2, 1534, 1535, 7, 42, 2, 2, 1535, 218, 3, 2, 2, 2, 1536, 1537, 7, 43, 2, 2, 1537, 220, 3, 2, 2, 2, 1538, 1539, 7, 46, 2, 2, 1539, 222, 3, 2, 2, 2, 1540, 1541, 7, 63, 2, 2, 1541, 224, 3, 2, 2, 2, 1542, 1543, 7, 36, 2, 2, 1543, 226, 3, 2, 2, 2, 1544, 1548, 7, 94, 2, 2, 1545, 1547, 10, 5, 2, 2, 1546, 1545, 3, 2, 2, 2, 1547, 1550, 3, 2, 2, 2, 1548, 1549, 3, 2, 2, 2, 1548, 1546, 3, 2, 2, 2, 1549, 1551, 3, 2, 2, 2, 1550, 1548, 3, 2, 2, 2, 1551, 1552, 5, 201, 101, 2, 1552, 228, 3, 2, 2, 2, 1553, 1554, 7, 125, 2, 2, 1554, 230, 3, 2, 2, 2, 1555, 1556, 7, 127, 2, 2, 1556, 232, 3, 2, 2, 2, 1557, 1558, 7, 93, 2, 2, 1558, 234, 3, 2, 2, 2, 1559, 1560, 7, 95, 2, 2, 1560, 236, 3, 2, 2, 2, 1561, 1563, 9, 24, 2, 2, 1562, 1561, 3, 2, 2, 2, 1563, 1564, 3, 2, 2, 2, 1564, 1562, 3, 2, 2, 2, 1564, 1565, 3, 2, 2, 2, 1565, 238, 3, 2, 2, 2, 1566, 1567, 11, 2, 2, 2, 1567, 240, 3, 2, 2, 2, 87, 2, 246, 260, 262, 268, 271, 279, 1103, 1112, 1121, 1123, 1132, 1137, 1139, 1145, 1152, 1157, 1159, 1165, 1169, 1171, 1185, 1189, 1191, 1197, 1199, 1205, 1209, 1211, 1225, 1230, 1232, 1240, 1243, 1249, 1255, 1262, 1265, 1271, 1278, 1285, 1288, 1294, 1301, 1304, 1310, 1313, 1319, 1328, 1331, 1337, 1346, 1349, 1355, 1364, 1370, 1372, 1378, 1384, 1389, 1391, 1397, 1403, 1408, 1410, 1416, 1422, 1427, 1429, 1434, 1440, 1446, 1452, 1461, 1466, 1471, 1476, 1481, 1486, 1497, 1503, 1508, 1513, 1548, 1564, 2] \ No newline at end of file
diff --git a/src/parser/SV3_1aPpParser.cpp b/src/parser/SV3_1aPpParser.cpp index 3bf8c91..074908c 100644 --- a/src/parser/SV3_1aPpParser.cpp +++ b/src/parser/SV3_1aPpParser.cpp
@@ -1,8 +1,9 @@ -// Generated from SV3_1aPpParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 #include "SV3_1aPpParserListener.h" +#include "SV3_1aPpParserVisitor.h" #include "SV3_1aPpParser.h" @@ -62,6 +63,14 @@ parserListener->exitSource_text(this); } + +antlrcpp::Any SV3_1aPpParser::Source_textContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSource_text(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Source_textContext* SV3_1aPpParser::source_text() { Source_textContext *_localctx = _tracker.createInstance<Source_textContext>(_ctx, getState()); enterRule(_localctx, 0, SV3_1aPpParser::RuleSource_text); @@ -501,6 +510,14 @@ parserListener->exitDescription(this); } + +antlrcpp::Any SV3_1aPpParser::DescriptionContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDescription(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::DescriptionContext* SV3_1aPpParser::description() { DescriptionContext *_localctx = _tracker.createInstance<DescriptionContext>(_ctx, getState()); enterRule(_localctx, 2, SV3_1aPpParser::RuleDescription); @@ -1092,6 +1109,13 @@ if (parserListener != nullptr) parserListener->exitMacroInstanceWithArgs(this); } + +antlrcpp::Any SV3_1aPpParser::MacroInstanceWithArgsContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitMacroInstanceWithArgs(this); + else + return visitor->visitChildren(this); +} //----------------- MacroInstanceNoArgsContext ------------------------------------------------------------------ tree::TerminalNode* SV3_1aPpParser::MacroInstanceNoArgsContext::Macro_identifier() { @@ -1114,6 +1138,13 @@ if (parserListener != nullptr) parserListener->exitMacroInstanceNoArgs(this); } + +antlrcpp::Any SV3_1aPpParser::MacroInstanceNoArgsContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitMacroInstanceNoArgs(this); + else + return visitor->visitChildren(this); +} SV3_1aPpParser::Macro_instanceContext* SV3_1aPpParser::macro_instance() { Macro_instanceContext *_localctx = _tracker.createInstance<Macro_instanceContext>(_ctx, getState()); enterRule(_localctx, 4, SV3_1aPpParser::RuleMacro_instance); @@ -1227,6 +1258,14 @@ parserListener->exitUnterminated_string(this); } + +antlrcpp::Any SV3_1aPpParser::Unterminated_stringContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitUnterminated_string(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Unterminated_stringContext* SV3_1aPpParser::unterminated_string() { Unterminated_stringContext *_localctx = _tracker.createInstance<Unterminated_stringContext>(_ctx, getState()); enterRule(_localctx, 6, SV3_1aPpParser::RuleUnterminated_string); @@ -1321,6 +1360,14 @@ parserListener->exitMacro_actual_args(this); } + +antlrcpp::Any SV3_1aPpParser::Macro_actual_argsContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitMacro_actual_args(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Macro_actual_argsContext* SV3_1aPpParser::macro_actual_args() { Macro_actual_argsContext *_localctx = _tracker.createInstance<Macro_actual_argsContext>(_ctx, getState()); enterRule(_localctx, 8, SV3_1aPpParser::RuleMacro_actual_args); @@ -1443,6 +1490,14 @@ parserListener->exitComments(this); } + +antlrcpp::Any SV3_1aPpParser::CommentsContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitComments(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::CommentsContext* SV3_1aPpParser::comments() { CommentsContext *_localctx = _tracker.createInstance<CommentsContext>(_ctx, getState()); enterRule(_localctx, 10, SV3_1aPpParser::RuleComments); @@ -1502,6 +1557,14 @@ parserListener->exitNumber(this); } + +antlrcpp::Any SV3_1aPpParser::NumberContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNumber(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::NumberContext* SV3_1aPpParser::number() { NumberContext *_localctx = _tracker.createInstance<NumberContext>(_ctx, getState()); enterRule(_localctx, 12, SV3_1aPpParser::RuleNumber); @@ -1551,6 +1614,14 @@ parserListener->exitPound_delay(this); } + +antlrcpp::Any SV3_1aPpParser::Pound_delayContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitPound_delay(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Pound_delayContext* SV3_1aPpParser::pound_delay() { Pound_delayContext *_localctx = _tracker.createInstance<Pound_delayContext>(_ctx, getState()); enterRule(_localctx, 14, SV3_1aPpParser::RulePound_delay); @@ -1616,6 +1687,14 @@ parserListener->exitMacro_definition(this); } + +antlrcpp::Any SV3_1aPpParser::Macro_definitionContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitMacro_definition(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Macro_definitionContext* SV3_1aPpParser::macro_definition() { Macro_definitionContext *_localctx = _tracker.createInstance<Macro_definitionContext>(_ctx, getState()); enterRule(_localctx, 16, SV3_1aPpParser::RuleMacro_definition); @@ -1713,6 +1792,14 @@ parserListener->exitInclude_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Include_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitInclude_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Include_directive_one_lineContext* SV3_1aPpParser::include_directive_one_line() { Include_directive_one_lineContext *_localctx = _tracker.createInstance<Include_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 18, SV3_1aPpParser::RuleInclude_directive_one_line); @@ -1795,6 +1882,14 @@ parserListener->exitInclude_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Include_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitInclude_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Include_directiveContext* SV3_1aPpParser::include_directive() { Include_directiveContext *_localctx = _tracker.createInstance<Include_directiveContext>(_ctx, getState()); enterRule(_localctx, 20, SV3_1aPpParser::RuleInclude_directive); @@ -1889,6 +1984,14 @@ parserListener->exitLine_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Line_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitLine_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Line_directive_one_lineContext* SV3_1aPpParser::line_directive_one_line() { Line_directive_one_lineContext *_localctx = _tracker.createInstance<Line_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 22, SV3_1aPpParser::RuleLine_directive_one_line); @@ -1971,6 +2074,14 @@ parserListener->exitLine_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Line_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitLine_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Line_directiveContext* SV3_1aPpParser::line_directive() { Line_directiveContext *_localctx = _tracker.createInstance<Line_directiveContext>(_ctx, getState()); enterRule(_localctx, 24, SV3_1aPpParser::RuleLine_directive); @@ -2042,6 +2153,14 @@ parserListener->exitDefault_nettype_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Default_nettype_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDefault_nettype_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Default_nettype_directive_one_lineContext* SV3_1aPpParser::default_nettype_directive_one_line() { Default_nettype_directive_one_lineContext *_localctx = _tracker.createInstance<Default_nettype_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 26, SV3_1aPpParser::RuleDefault_nettype_directive_one_line); @@ -2112,6 +2231,14 @@ parserListener->exitDefault_nettype_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Default_nettype_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDefault_nettype_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Default_nettype_directiveContext* SV3_1aPpParser::default_nettype_directive() { Default_nettype_directiveContext *_localctx = _tracker.createInstance<Default_nettype_directiveContext>(_ctx, getState()); enterRule(_localctx, 28, SV3_1aPpParser::RuleDefault_nettype_directive); @@ -2165,6 +2292,14 @@ parserListener->exitSv_file_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Sv_file_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSv_file_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Sv_file_directiveContext* SV3_1aPpParser::sv_file_directive() { Sv_file_directiveContext *_localctx = _tracker.createInstance<Sv_file_directiveContext>(_ctx, getState()); enterRule(_localctx, 30, SV3_1aPpParser::RuleSv_file_directive); @@ -2214,6 +2349,14 @@ parserListener->exitSv_line_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Sv_line_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSv_line_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Sv_line_directiveContext* SV3_1aPpParser::sv_line_directive() { Sv_line_directiveContext *_localctx = _tracker.createInstance<Sv_line_directiveContext>(_ctx, getState()); enterRule(_localctx, 32, SV3_1aPpParser::RuleSv_line_directive); @@ -2275,6 +2418,14 @@ parserListener->exitTimescale_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Timescale_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitTimescale_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Timescale_directive_one_lineContext* SV3_1aPpParser::timescale_directive_one_line() { Timescale_directive_one_lineContext *_localctx = _tracker.createInstance<Timescale_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 34, SV3_1aPpParser::RuleTimescale_directive_one_line); @@ -2341,6 +2492,14 @@ parserListener->exitTimescale_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Timescale_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitTimescale_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Timescale_directiveContext* SV3_1aPpParser::timescale_directive() { Timescale_directiveContext *_localctx = _tracker.createInstance<Timescale_directiveContext>(_ctx, getState()); enterRule(_localctx, 36, SV3_1aPpParser::RuleTimescale_directive); @@ -2408,6 +2567,14 @@ parserListener->exitUndef_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Undef_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitUndef_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Undef_directiveContext* SV3_1aPpParser::undef_directive() { Undef_directiveContext *_localctx = _tracker.createInstance<Undef_directiveContext>(_ctx, getState()); enterRule(_localctx, 38, SV3_1aPpParser::RuleUndef_directive); @@ -2536,6 +2703,14 @@ parserListener->exitIfdef_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Ifdef_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitIfdef_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Ifdef_directive_one_lineContext* SV3_1aPpParser::ifdef_directive_one_line() { Ifdef_directive_one_lineContext *_localctx = _tracker.createInstance<Ifdef_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 40, SV3_1aPpParser::RuleIfdef_directive_one_line); @@ -2701,6 +2876,14 @@ parserListener->exitIfdef_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Ifdef_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitIfdef_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Ifdef_directiveContext* SV3_1aPpParser::ifdef_directive() { Ifdef_directiveContext *_localctx = _tracker.createInstance<Ifdef_directiveContext>(_ctx, getState()); enterRule(_localctx, 42, SV3_1aPpParser::RuleIfdef_directive); @@ -2793,6 +2976,14 @@ parserListener->exitIfdef_directive_in_macro_body(this); } + +antlrcpp::Any SV3_1aPpParser::Ifdef_directive_in_macro_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitIfdef_directive_in_macro_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Ifdef_directive_in_macro_bodyContext* SV3_1aPpParser::ifdef_directive_in_macro_body() { Ifdef_directive_in_macro_bodyContext *_localctx = _tracker.createInstance<Ifdef_directive_in_macro_bodyContext>(_ctx, getState()); enterRule(_localctx, 44, SV3_1aPpParser::RuleIfdef_directive_in_macro_body); @@ -2922,6 +3113,14 @@ parserListener->exitIfndef_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Ifndef_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitIfndef_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Ifndef_directive_one_lineContext* SV3_1aPpParser::ifndef_directive_one_line() { Ifndef_directive_one_lineContext *_localctx = _tracker.createInstance<Ifndef_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 46, SV3_1aPpParser::RuleIfndef_directive_one_line); @@ -3087,6 +3286,14 @@ parserListener->exitIfndef_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Ifndef_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitIfndef_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Ifndef_directiveContext* SV3_1aPpParser::ifndef_directive() { Ifndef_directiveContext *_localctx = _tracker.createInstance<Ifndef_directiveContext>(_ctx, getState()); enterRule(_localctx, 48, SV3_1aPpParser::RuleIfndef_directive); @@ -3179,6 +3386,14 @@ parserListener->exitIfndef_directive_in_macro_body(this); } + +antlrcpp::Any SV3_1aPpParser::Ifndef_directive_in_macro_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitIfndef_directive_in_macro_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Ifndef_directive_in_macro_bodyContext* SV3_1aPpParser::ifndef_directive_in_macro_body() { Ifndef_directive_in_macro_bodyContext *_localctx = _tracker.createInstance<Ifndef_directive_in_macro_bodyContext>(_ctx, getState()); enterRule(_localctx, 50, SV3_1aPpParser::RuleIfndef_directive_in_macro_body); @@ -3272,6 +3487,14 @@ parserListener->exitElsif_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Elsif_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitElsif_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Elsif_directive_one_lineContext* SV3_1aPpParser::elsif_directive_one_line() { Elsif_directive_one_lineContext *_localctx = _tracker.createInstance<Elsif_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 52, SV3_1aPpParser::RuleElsif_directive_one_line); @@ -3357,6 +3580,14 @@ parserListener->exitElsif_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Elsif_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitElsif_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Elsif_directiveContext* SV3_1aPpParser::elsif_directive() { Elsif_directiveContext *_localctx = _tracker.createInstance<Elsif_directiveContext>(_ctx, getState()); enterRule(_localctx, 54, SV3_1aPpParser::RuleElsif_directive); @@ -3449,6 +3680,14 @@ parserListener->exitElsif_directive_in_macro_body(this); } + +antlrcpp::Any SV3_1aPpParser::Elsif_directive_in_macro_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitElsif_directive_in_macro_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Elsif_directive_in_macro_bodyContext* SV3_1aPpParser::elsif_directive_in_macro_body() { Elsif_directive_in_macro_bodyContext *_localctx = _tracker.createInstance<Elsif_directive_in_macro_bodyContext>(_ctx, getState()); enterRule(_localctx, 56, SV3_1aPpParser::RuleElsif_directive_in_macro_body); @@ -3542,6 +3781,14 @@ parserListener->exitElseif_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Elseif_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitElseif_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Elseif_directive_one_lineContext* SV3_1aPpParser::elseif_directive_one_line() { Elseif_directive_one_lineContext *_localctx = _tracker.createInstance<Elseif_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 58, SV3_1aPpParser::RuleElseif_directive_one_line); @@ -3627,6 +3874,14 @@ parserListener->exitElseif_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Elseif_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitElseif_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Elseif_directiveContext* SV3_1aPpParser::elseif_directive() { Elseif_directiveContext *_localctx = _tracker.createInstance<Elseif_directiveContext>(_ctx, getState()); enterRule(_localctx, 60, SV3_1aPpParser::RuleElseif_directive); @@ -3719,6 +3974,14 @@ parserListener->exitElseif_directive_in_macro_body(this); } + +antlrcpp::Any SV3_1aPpParser::Elseif_directive_in_macro_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitElseif_directive_in_macro_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Elseif_directive_in_macro_bodyContext* SV3_1aPpParser::elseif_directive_in_macro_body() { Elseif_directive_in_macro_bodyContext *_localctx = _tracker.createInstance<Elseif_directive_in_macro_bodyContext>(_ctx, getState()); enterRule(_localctx, 62, SV3_1aPpParser::RuleElseif_directive_in_macro_body); @@ -3812,6 +4075,14 @@ parserListener->exitElse_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Else_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitElse_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Else_directive_one_lineContext* SV3_1aPpParser::else_directive_one_line() { Else_directive_one_lineContext *_localctx = _tracker.createInstance<Else_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 64, SV3_1aPpParser::RuleElse_directive_one_line); @@ -3881,6 +4152,14 @@ parserListener->exitElse_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Else_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitElse_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Else_directiveContext* SV3_1aPpParser::else_directive() { Else_directiveContext *_localctx = _tracker.createInstance<Else_directiveContext>(_ctx, getState()); enterRule(_localctx, 66, SV3_1aPpParser::RuleElse_directive); @@ -3950,6 +4229,14 @@ parserListener->exitEndif_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Endif_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndif_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Endif_directive_one_lineContext* SV3_1aPpParser::endif_directive_one_line() { Endif_directive_one_lineContext *_localctx = _tracker.createInstance<Endif_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 68, SV3_1aPpParser::RuleEndif_directive_one_line); @@ -4060,6 +4347,14 @@ parserListener->exitEndif_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Endif_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndif_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Endif_directiveContext* SV3_1aPpParser::endif_directive() { Endif_directiveContext *_localctx = _tracker.createInstance<Endif_directiveContext>(_ctx, getState()); enterRule(_localctx, 70, SV3_1aPpParser::RuleEndif_directive); @@ -4149,6 +4444,14 @@ parserListener->exitResetall_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Resetall_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitResetall_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Resetall_directive_one_lineContext* SV3_1aPpParser::resetall_directive_one_line() { Resetall_directive_one_lineContext *_localctx = _tracker.createInstance<Resetall_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 72, SV3_1aPpParser::RuleResetall_directive_one_line); @@ -4211,6 +4514,14 @@ parserListener->exitResetall_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Resetall_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitResetall_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Resetall_directiveContext* SV3_1aPpParser::resetall_directive() { Resetall_directiveContext *_localctx = _tracker.createInstance<Resetall_directiveContext>(_ctx, getState()); enterRule(_localctx, 74, SV3_1aPpParser::RuleResetall_directive); @@ -4272,6 +4583,14 @@ parserListener->exitBegin_keywords_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Begin_keywords_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitBegin_keywords_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Begin_keywords_directive_one_lineContext* SV3_1aPpParser::begin_keywords_directive_one_line() { Begin_keywords_directive_one_lineContext *_localctx = _tracker.createInstance<Begin_keywords_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 76, SV3_1aPpParser::RuleBegin_keywords_directive_one_line); @@ -4342,6 +4661,14 @@ parserListener->exitBegin_keywords_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Begin_keywords_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitBegin_keywords_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Begin_keywords_directiveContext* SV3_1aPpParser::begin_keywords_directive() { Begin_keywords_directiveContext *_localctx = _tracker.createInstance<Begin_keywords_directiveContext>(_ctx, getState()); enterRule(_localctx, 78, SV3_1aPpParser::RuleBegin_keywords_directive); @@ -4407,6 +4734,14 @@ parserListener->exitEnd_keywords_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::End_keywords_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEnd_keywords_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::End_keywords_directive_one_lineContext* SV3_1aPpParser::end_keywords_directive_one_line() { End_keywords_directive_one_lineContext *_localctx = _tracker.createInstance<End_keywords_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 80, SV3_1aPpParser::RuleEnd_keywords_directive_one_line); @@ -4469,6 +4804,14 @@ parserListener->exitEnd_keywords_directive(this); } + +antlrcpp::Any SV3_1aPpParser::End_keywords_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEnd_keywords_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::End_keywords_directiveContext* SV3_1aPpParser::end_keywords_directive() { End_keywords_directiveContext *_localctx = _tracker.createInstance<End_keywords_directiveContext>(_ctx, getState()); enterRule(_localctx, 82, SV3_1aPpParser::RuleEnd_keywords_directive); @@ -4530,6 +4873,14 @@ parserListener->exitPragma_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Pragma_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitPragma_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Pragma_directive_one_lineContext* SV3_1aPpParser::pragma_directive_one_line() { Pragma_directive_one_lineContext *_localctx = _tracker.createInstance<Pragma_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 84, SV3_1aPpParser::RulePragma_directive_one_line); @@ -4616,6 +4967,14 @@ parserListener->exitPragma_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Pragma_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitPragma_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Pragma_directiveContext* SV3_1aPpParser::pragma_directive() { Pragma_directiveContext *_localctx = _tracker.createInstance<Pragma_directiveContext>(_ctx, getState()); enterRule(_localctx, 86, SV3_1aPpParser::RulePragma_directive); @@ -4708,6 +5067,14 @@ parserListener->exitCelldefine_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Celldefine_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitCelldefine_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Celldefine_directive_one_lineContext* SV3_1aPpParser::celldefine_directive_one_line() { Celldefine_directive_one_lineContext *_localctx = _tracker.createInstance<Celldefine_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 88, SV3_1aPpParser::RuleCelldefine_directive_one_line); @@ -4770,6 +5137,14 @@ parserListener->exitCelldefine_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Celldefine_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitCelldefine_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Celldefine_directiveContext* SV3_1aPpParser::celldefine_directive() { Celldefine_directiveContext *_localctx = _tracker.createInstance<Celldefine_directiveContext>(_ctx, getState()); enterRule(_localctx, 90, SV3_1aPpParser::RuleCelldefine_directive); @@ -4831,6 +5206,14 @@ parserListener->exitEndcelldefine_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Endcelldefine_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndcelldefine_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Endcelldefine_directive_one_lineContext* SV3_1aPpParser::endcelldefine_directive_one_line() { Endcelldefine_directive_one_lineContext *_localctx = _tracker.createInstance<Endcelldefine_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 92, SV3_1aPpParser::RuleEndcelldefine_directive_one_line); @@ -4893,6 +5276,14 @@ parserListener->exitEndcelldefine_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Endcelldefine_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndcelldefine_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Endcelldefine_directiveContext* SV3_1aPpParser::endcelldefine_directive() { Endcelldefine_directiveContext *_localctx = _tracker.createInstance<Endcelldefine_directiveContext>(_ctx, getState()); enterRule(_localctx, 94, SV3_1aPpParser::RuleEndcelldefine_directive); @@ -4954,6 +5345,14 @@ parserListener->exitProtect_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Protect_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitProtect_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Protect_directive_one_lineContext* SV3_1aPpParser::protect_directive_one_line() { Protect_directive_one_lineContext *_localctx = _tracker.createInstance<Protect_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 96, SV3_1aPpParser::RuleProtect_directive_one_line); @@ -5016,6 +5415,14 @@ parserListener->exitProtect_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Protect_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitProtect_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Protect_directiveContext* SV3_1aPpParser::protect_directive() { Protect_directiveContext *_localctx = _tracker.createInstance<Protect_directiveContext>(_ctx, getState()); enterRule(_localctx, 98, SV3_1aPpParser::RuleProtect_directive); @@ -5077,6 +5484,14 @@ parserListener->exitEndprotect_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Endprotect_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndprotect_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Endprotect_directive_one_lineContext* SV3_1aPpParser::endprotect_directive_one_line() { Endprotect_directive_one_lineContext *_localctx = _tracker.createInstance<Endprotect_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 100, SV3_1aPpParser::RuleEndprotect_directive_one_line); @@ -5139,6 +5554,14 @@ parserListener->exitEndprotect_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Endprotect_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndprotect_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Endprotect_directiveContext* SV3_1aPpParser::endprotect_directive() { Endprotect_directiveContext *_localctx = _tracker.createInstance<Endprotect_directiveContext>(_ctx, getState()); enterRule(_localctx, 102, SV3_1aPpParser::RuleEndprotect_directive); @@ -5200,6 +5623,14 @@ parserListener->exitProtected_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Protected_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitProtected_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Protected_directive_one_lineContext* SV3_1aPpParser::protected_directive_one_line() { Protected_directive_one_lineContext *_localctx = _tracker.createInstance<Protected_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 104, SV3_1aPpParser::RuleProtected_directive_one_line); @@ -5262,6 +5693,14 @@ parserListener->exitProtected_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Protected_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitProtected_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Protected_directiveContext* SV3_1aPpParser::protected_directive() { Protected_directiveContext *_localctx = _tracker.createInstance<Protected_directiveContext>(_ctx, getState()); enterRule(_localctx, 106, SV3_1aPpParser::RuleProtected_directive); @@ -5323,6 +5762,14 @@ parserListener->exitEndprotected_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Endprotected_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndprotected_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Endprotected_directive_one_lineContext* SV3_1aPpParser::endprotected_directive_one_line() { Endprotected_directive_one_lineContext *_localctx = _tracker.createInstance<Endprotected_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 108, SV3_1aPpParser::RuleEndprotected_directive_one_line); @@ -5385,6 +5832,14 @@ parserListener->exitEndprotected_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Endprotected_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndprotected_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Endprotected_directiveContext* SV3_1aPpParser::endprotected_directive() { Endprotected_directiveContext *_localctx = _tracker.createInstance<Endprotected_directiveContext>(_ctx, getState()); enterRule(_localctx, 110, SV3_1aPpParser::RuleEndprotected_directive); @@ -5446,6 +5901,14 @@ parserListener->exitExpand_vectornets_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Expand_vectornets_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitExpand_vectornets_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Expand_vectornets_directive_one_lineContext* SV3_1aPpParser::expand_vectornets_directive_one_line() { Expand_vectornets_directive_one_lineContext *_localctx = _tracker.createInstance<Expand_vectornets_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 112, SV3_1aPpParser::RuleExpand_vectornets_directive_one_line); @@ -5508,6 +5971,14 @@ parserListener->exitExpand_vectornets_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Expand_vectornets_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitExpand_vectornets_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Expand_vectornets_directiveContext* SV3_1aPpParser::expand_vectornets_directive() { Expand_vectornets_directiveContext *_localctx = _tracker.createInstance<Expand_vectornets_directiveContext>(_ctx, getState()); enterRule(_localctx, 114, SV3_1aPpParser::RuleExpand_vectornets_directive); @@ -5569,6 +6040,14 @@ parserListener->exitNoexpand_vectornets_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Noexpand_vectornets_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNoexpand_vectornets_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Noexpand_vectornets_directive_one_lineContext* SV3_1aPpParser::noexpand_vectornets_directive_one_line() { Noexpand_vectornets_directive_one_lineContext *_localctx = _tracker.createInstance<Noexpand_vectornets_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 116, SV3_1aPpParser::RuleNoexpand_vectornets_directive_one_line); @@ -5631,6 +6110,14 @@ parserListener->exitNoexpand_vectornets_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Noexpand_vectornets_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNoexpand_vectornets_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Noexpand_vectornets_directiveContext* SV3_1aPpParser::noexpand_vectornets_directive() { Noexpand_vectornets_directiveContext *_localctx = _tracker.createInstance<Noexpand_vectornets_directiveContext>(_ctx, getState()); enterRule(_localctx, 118, SV3_1aPpParser::RuleNoexpand_vectornets_directive); @@ -5692,6 +6179,14 @@ parserListener->exitAutoexpand_vectornets_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Autoexpand_vectornets_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitAutoexpand_vectornets_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Autoexpand_vectornets_directive_one_lineContext* SV3_1aPpParser::autoexpand_vectornets_directive_one_line() { Autoexpand_vectornets_directive_one_lineContext *_localctx = _tracker.createInstance<Autoexpand_vectornets_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 120, SV3_1aPpParser::RuleAutoexpand_vectornets_directive_one_line); @@ -5754,6 +6249,14 @@ parserListener->exitAutoexpand_vectornets_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Autoexpand_vectornets_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitAutoexpand_vectornets_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Autoexpand_vectornets_directiveContext* SV3_1aPpParser::autoexpand_vectornets_directive() { Autoexpand_vectornets_directiveContext *_localctx = _tracker.createInstance<Autoexpand_vectornets_directiveContext>(_ctx, getState()); enterRule(_localctx, 122, SV3_1aPpParser::RuleAutoexpand_vectornets_directive); @@ -5807,6 +6310,14 @@ parserListener->exitUselib_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Uselib_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitUselib_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Uselib_directive_one_lineContext* SV3_1aPpParser::uselib_directive_one_line() { Uselib_directive_one_lineContext *_localctx = _tracker.createInstance<Uselib_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 124, SV3_1aPpParser::RuleUselib_directive_one_line); @@ -5866,6 +6377,14 @@ parserListener->exitUselib_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Uselib_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitUselib_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Uselib_directiveContext* SV3_1aPpParser::uselib_directive() { Uselib_directiveContext *_localctx = _tracker.createInstance<Uselib_directiveContext>(_ctx, getState()); enterRule(_localctx, 126, SV3_1aPpParser::RuleUselib_directive); @@ -5946,6 +6465,14 @@ parserListener->exitDisable_portfaults_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Disable_portfaults_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDisable_portfaults_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Disable_portfaults_directive_one_lineContext* SV3_1aPpParser::disable_portfaults_directive_one_line() { Disable_portfaults_directive_one_lineContext *_localctx = _tracker.createInstance<Disable_portfaults_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 128, SV3_1aPpParser::RuleDisable_portfaults_directive_one_line); @@ -6008,6 +6535,14 @@ parserListener->exitDisable_portfaults_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Disable_portfaults_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDisable_portfaults_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Disable_portfaults_directiveContext* SV3_1aPpParser::disable_portfaults_directive() { Disable_portfaults_directiveContext *_localctx = _tracker.createInstance<Disable_portfaults_directiveContext>(_ctx, getState()); enterRule(_localctx, 130, SV3_1aPpParser::RuleDisable_portfaults_directive); @@ -6069,6 +6604,14 @@ parserListener->exitEnable_portfaults_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Enable_portfaults_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEnable_portfaults_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Enable_portfaults_directive_one_lineContext* SV3_1aPpParser::enable_portfaults_directive_one_line() { Enable_portfaults_directive_one_lineContext *_localctx = _tracker.createInstance<Enable_portfaults_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 132, SV3_1aPpParser::RuleEnable_portfaults_directive_one_line); @@ -6131,6 +6674,14 @@ parserListener->exitEnable_portfaults_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Enable_portfaults_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEnable_portfaults_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Enable_portfaults_directiveContext* SV3_1aPpParser::enable_portfaults_directive() { Enable_portfaults_directiveContext *_localctx = _tracker.createInstance<Enable_portfaults_directiveContext>(_ctx, getState()); enterRule(_localctx, 134, SV3_1aPpParser::RuleEnable_portfaults_directive); @@ -6192,6 +6743,14 @@ parserListener->exitNosuppress_faults_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Nosuppress_faults_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNosuppress_faults_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Nosuppress_faults_directive_one_lineContext* SV3_1aPpParser::nosuppress_faults_directive_one_line() { Nosuppress_faults_directive_one_lineContext *_localctx = _tracker.createInstance<Nosuppress_faults_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 136, SV3_1aPpParser::RuleNosuppress_faults_directive_one_line); @@ -6254,6 +6813,14 @@ parserListener->exitNosuppress_faults_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Nosuppress_faults_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNosuppress_faults_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Nosuppress_faults_directiveContext* SV3_1aPpParser::nosuppress_faults_directive() { Nosuppress_faults_directiveContext *_localctx = _tracker.createInstance<Nosuppress_faults_directiveContext>(_ctx, getState()); enterRule(_localctx, 138, SV3_1aPpParser::RuleNosuppress_faults_directive); @@ -6315,6 +6882,14 @@ parserListener->exitSuppress_faults_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Suppress_faults_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSuppress_faults_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Suppress_faults_directive_one_lineContext* SV3_1aPpParser::suppress_faults_directive_one_line() { Suppress_faults_directive_one_lineContext *_localctx = _tracker.createInstance<Suppress_faults_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 140, SV3_1aPpParser::RuleSuppress_faults_directive_one_line); @@ -6377,6 +6952,14 @@ parserListener->exitSuppress_faults_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Suppress_faults_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSuppress_faults_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Suppress_faults_directiveContext* SV3_1aPpParser::suppress_faults_directive() { Suppress_faults_directiveContext *_localctx = _tracker.createInstance<Suppress_faults_directiveContext>(_ctx, getState()); enterRule(_localctx, 142, SV3_1aPpParser::RuleSuppress_faults_directive); @@ -6438,6 +7021,14 @@ parserListener->exitSigned_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Signed_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSigned_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Signed_directive_one_lineContext* SV3_1aPpParser::signed_directive_one_line() { Signed_directive_one_lineContext *_localctx = _tracker.createInstance<Signed_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 144, SV3_1aPpParser::RuleSigned_directive_one_line); @@ -6500,6 +7091,14 @@ parserListener->exitSigned_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Signed_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSigned_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Signed_directiveContext* SV3_1aPpParser::signed_directive() { Signed_directiveContext *_localctx = _tracker.createInstance<Signed_directiveContext>(_ctx, getState()); enterRule(_localctx, 146, SV3_1aPpParser::RuleSigned_directive); @@ -6561,6 +7160,14 @@ parserListener->exitUnsigned_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Unsigned_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitUnsigned_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Unsigned_directive_one_lineContext* SV3_1aPpParser::unsigned_directive_one_line() { Unsigned_directive_one_lineContext *_localctx = _tracker.createInstance<Unsigned_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 148, SV3_1aPpParser::RuleUnsigned_directive_one_line); @@ -6623,6 +7230,14 @@ parserListener->exitUnsigned_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Unsigned_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitUnsigned_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Unsigned_directiveContext* SV3_1aPpParser::unsigned_directive() { Unsigned_directiveContext *_localctx = _tracker.createInstance<Unsigned_directiveContext>(_ctx, getState()); enterRule(_localctx, 150, SV3_1aPpParser::RuleUnsigned_directive); @@ -6684,6 +7299,14 @@ parserListener->exitRemove_gatename_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Remove_gatename_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitRemove_gatename_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Remove_gatename_directive_one_lineContext* SV3_1aPpParser::remove_gatename_directive_one_line() { Remove_gatename_directive_one_lineContext *_localctx = _tracker.createInstance<Remove_gatename_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 152, SV3_1aPpParser::RuleRemove_gatename_directive_one_line); @@ -6746,6 +7369,14 @@ parserListener->exitRemove_gatename_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Remove_gatename_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitRemove_gatename_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Remove_gatename_directiveContext* SV3_1aPpParser::remove_gatename_directive() { Remove_gatename_directiveContext *_localctx = _tracker.createInstance<Remove_gatename_directiveContext>(_ctx, getState()); enterRule(_localctx, 154, SV3_1aPpParser::RuleRemove_gatename_directive); @@ -6807,6 +7438,14 @@ parserListener->exitNoremove_gatenames_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Noremove_gatenames_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNoremove_gatenames_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Noremove_gatenames_directive_one_lineContext* SV3_1aPpParser::noremove_gatenames_directive_one_line() { Noremove_gatenames_directive_one_lineContext *_localctx = _tracker.createInstance<Noremove_gatenames_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 156, SV3_1aPpParser::RuleNoremove_gatenames_directive_one_line); @@ -6869,6 +7508,14 @@ parserListener->exitNoremove_gatenames_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Noremove_gatenames_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNoremove_gatenames_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Noremove_gatenames_directiveContext* SV3_1aPpParser::noremove_gatenames_directive() { Noremove_gatenames_directiveContext *_localctx = _tracker.createInstance<Noremove_gatenames_directiveContext>(_ctx, getState()); enterRule(_localctx, 158, SV3_1aPpParser::RuleNoremove_gatenames_directive); @@ -6930,6 +7577,14 @@ parserListener->exitRemove_netname_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Remove_netname_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitRemove_netname_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Remove_netname_directive_one_lineContext* SV3_1aPpParser::remove_netname_directive_one_line() { Remove_netname_directive_one_lineContext *_localctx = _tracker.createInstance<Remove_netname_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 160, SV3_1aPpParser::RuleRemove_netname_directive_one_line); @@ -6992,6 +7647,14 @@ parserListener->exitRemove_netname_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Remove_netname_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitRemove_netname_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Remove_netname_directiveContext* SV3_1aPpParser::remove_netname_directive() { Remove_netname_directiveContext *_localctx = _tracker.createInstance<Remove_netname_directiveContext>(_ctx, getState()); enterRule(_localctx, 162, SV3_1aPpParser::RuleRemove_netname_directive); @@ -7053,6 +7716,14 @@ parserListener->exitNoremove_netnames_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Noremove_netnames_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNoremove_netnames_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Noremove_netnames_directive_one_lineContext* SV3_1aPpParser::noremove_netnames_directive_one_line() { Noremove_netnames_directive_one_lineContext *_localctx = _tracker.createInstance<Noremove_netnames_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 164, SV3_1aPpParser::RuleNoremove_netnames_directive_one_line); @@ -7115,6 +7786,14 @@ parserListener->exitNoremove_netnames_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Noremove_netnames_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNoremove_netnames_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Noremove_netnames_directiveContext* SV3_1aPpParser::noremove_netnames_directive() { Noremove_netnames_directiveContext *_localctx = _tracker.createInstance<Noremove_netnames_directiveContext>(_ctx, getState()); enterRule(_localctx, 166, SV3_1aPpParser::RuleNoremove_netnames_directive); @@ -7176,6 +7855,14 @@ parserListener->exitAccelerate_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Accelerate_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitAccelerate_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Accelerate_directive_one_lineContext* SV3_1aPpParser::accelerate_directive_one_line() { Accelerate_directive_one_lineContext *_localctx = _tracker.createInstance<Accelerate_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 168, SV3_1aPpParser::RuleAccelerate_directive_one_line); @@ -7238,6 +7925,14 @@ parserListener->exitAccelerate_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Accelerate_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitAccelerate_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Accelerate_directiveContext* SV3_1aPpParser::accelerate_directive() { Accelerate_directiveContext *_localctx = _tracker.createInstance<Accelerate_directiveContext>(_ctx, getState()); enterRule(_localctx, 170, SV3_1aPpParser::RuleAccelerate_directive); @@ -7299,6 +7994,14 @@ parserListener->exitNoaccelerate_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Noaccelerate_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNoaccelerate_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Noaccelerate_directive_one_lineContext* SV3_1aPpParser::noaccelerate_directive_one_line() { Noaccelerate_directive_one_lineContext *_localctx = _tracker.createInstance<Noaccelerate_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 172, SV3_1aPpParser::RuleNoaccelerate_directive_one_line); @@ -7361,6 +8064,14 @@ parserListener->exitNoaccelerate_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Noaccelerate_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNoaccelerate_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Noaccelerate_directiveContext* SV3_1aPpParser::noaccelerate_directive() { Noaccelerate_directiveContext *_localctx = _tracker.createInstance<Noaccelerate_directiveContext>(_ctx, getState()); enterRule(_localctx, 174, SV3_1aPpParser::RuleNoaccelerate_directive); @@ -7422,6 +8133,14 @@ parserListener->exitDefault_trireg_strenght_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Default_trireg_strenght_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDefault_trireg_strenght_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Default_trireg_strenght_directive_one_lineContext* SV3_1aPpParser::default_trireg_strenght_directive_one_line() { Default_trireg_strenght_directive_one_lineContext *_localctx = _tracker.createInstance<Default_trireg_strenght_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 176, SV3_1aPpParser::RuleDefault_trireg_strenght_directive_one_line); @@ -7492,6 +8211,14 @@ parserListener->exitDefault_trireg_strenght_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Default_trireg_strenght_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDefault_trireg_strenght_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Default_trireg_strenght_directiveContext* SV3_1aPpParser::default_trireg_strenght_directive() { Default_trireg_strenght_directiveContext *_localctx = _tracker.createInstance<Default_trireg_strenght_directiveContext>(_ctx, getState()); enterRule(_localctx, 178, SV3_1aPpParser::RuleDefault_trireg_strenght_directive); @@ -7557,6 +8284,14 @@ parserListener->exitDefault_decay_time_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Default_decay_time_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDefault_decay_time_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Default_decay_time_directive_one_lineContext* SV3_1aPpParser::default_decay_time_directive_one_line() { Default_decay_time_directive_one_lineContext *_localctx = _tracker.createInstance<Default_decay_time_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 180, SV3_1aPpParser::RuleDefault_decay_time_directive_one_line); @@ -7635,6 +8370,14 @@ parserListener->exitDefault_decay_time_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Default_decay_time_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDefault_decay_time_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Default_decay_time_directiveContext* SV3_1aPpParser::default_decay_time_directive() { Default_decay_time_directiveContext *_localctx = _tracker.createInstance<Default_decay_time_directiveContext>(_ctx, getState()); enterRule(_localctx, 182, SV3_1aPpParser::RuleDefault_decay_time_directive); @@ -7722,6 +8465,14 @@ parserListener->exitUnconnected_drive_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Unconnected_drive_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitUnconnected_drive_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Unconnected_drive_directive_one_lineContext* SV3_1aPpParser::unconnected_drive_directive_one_line() { Unconnected_drive_directive_one_lineContext *_localctx = _tracker.createInstance<Unconnected_drive_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 184, SV3_1aPpParser::RuleUnconnected_drive_directive_one_line); @@ -7792,6 +8543,14 @@ parserListener->exitUnconnected_drive_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Unconnected_drive_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitUnconnected_drive_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Unconnected_drive_directiveContext* SV3_1aPpParser::unconnected_drive_directive() { Unconnected_drive_directiveContext *_localctx = _tracker.createInstance<Unconnected_drive_directiveContext>(_ctx, getState()); enterRule(_localctx, 186, SV3_1aPpParser::RuleUnconnected_drive_directive); @@ -7857,6 +8616,14 @@ parserListener->exitNounconnected_drive_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Nounconnected_drive_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNounconnected_drive_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Nounconnected_drive_directive_one_lineContext* SV3_1aPpParser::nounconnected_drive_directive_one_line() { Nounconnected_drive_directive_one_lineContext *_localctx = _tracker.createInstance<Nounconnected_drive_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 188, SV3_1aPpParser::RuleNounconnected_drive_directive_one_line); @@ -7919,6 +8686,14 @@ parserListener->exitNounconnected_drive_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Nounconnected_drive_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitNounconnected_drive_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Nounconnected_drive_directiveContext* SV3_1aPpParser::nounconnected_drive_directive() { Nounconnected_drive_directiveContext *_localctx = _tracker.createInstance<Nounconnected_drive_directiveContext>(_ctx, getState()); enterRule(_localctx, 190, SV3_1aPpParser::RuleNounconnected_drive_directive); @@ -7980,6 +8755,14 @@ parserListener->exitDelay_mode_distributed_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Delay_mode_distributed_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDelay_mode_distributed_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Delay_mode_distributed_directive_one_lineContext* SV3_1aPpParser::delay_mode_distributed_directive_one_line() { Delay_mode_distributed_directive_one_lineContext *_localctx = _tracker.createInstance<Delay_mode_distributed_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 192, SV3_1aPpParser::RuleDelay_mode_distributed_directive_one_line); @@ -8042,6 +8825,14 @@ parserListener->exitDelay_mode_distributed_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Delay_mode_distributed_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDelay_mode_distributed_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Delay_mode_distributed_directiveContext* SV3_1aPpParser::delay_mode_distributed_directive() { Delay_mode_distributed_directiveContext *_localctx = _tracker.createInstance<Delay_mode_distributed_directiveContext>(_ctx, getState()); enterRule(_localctx, 194, SV3_1aPpParser::RuleDelay_mode_distributed_directive); @@ -8103,6 +8894,14 @@ parserListener->exitDelay_mode_path_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Delay_mode_path_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDelay_mode_path_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Delay_mode_path_directive_one_lineContext* SV3_1aPpParser::delay_mode_path_directive_one_line() { Delay_mode_path_directive_one_lineContext *_localctx = _tracker.createInstance<Delay_mode_path_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 196, SV3_1aPpParser::RuleDelay_mode_path_directive_one_line); @@ -8165,6 +8964,14 @@ parserListener->exitDelay_mode_path_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Delay_mode_path_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDelay_mode_path_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Delay_mode_path_directiveContext* SV3_1aPpParser::delay_mode_path_directive() { Delay_mode_path_directiveContext *_localctx = _tracker.createInstance<Delay_mode_path_directiveContext>(_ctx, getState()); enterRule(_localctx, 198, SV3_1aPpParser::RuleDelay_mode_path_directive); @@ -8226,6 +9033,14 @@ parserListener->exitDelay_mode_unit_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Delay_mode_unit_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDelay_mode_unit_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Delay_mode_unit_directive_one_lineContext* SV3_1aPpParser::delay_mode_unit_directive_one_line() { Delay_mode_unit_directive_one_lineContext *_localctx = _tracker.createInstance<Delay_mode_unit_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 200, SV3_1aPpParser::RuleDelay_mode_unit_directive_one_line); @@ -8288,6 +9103,14 @@ parserListener->exitDelay_mode_unit_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Delay_mode_unit_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDelay_mode_unit_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Delay_mode_unit_directiveContext* SV3_1aPpParser::delay_mode_unit_directive() { Delay_mode_unit_directiveContext *_localctx = _tracker.createInstance<Delay_mode_unit_directiveContext>(_ctx, getState()); enterRule(_localctx, 202, SV3_1aPpParser::RuleDelay_mode_unit_directive); @@ -8349,6 +9172,14 @@ parserListener->exitDelay_mode_zero_directive_one_line(this); } + +antlrcpp::Any SV3_1aPpParser::Delay_mode_zero_directive_one_lineContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDelay_mode_zero_directive_one_line(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Delay_mode_zero_directive_one_lineContext* SV3_1aPpParser::delay_mode_zero_directive_one_line() { Delay_mode_zero_directive_one_lineContext *_localctx = _tracker.createInstance<Delay_mode_zero_directive_one_lineContext>(_ctx, getState()); enterRule(_localctx, 204, SV3_1aPpParser::RuleDelay_mode_zero_directive_one_line); @@ -8411,6 +9242,14 @@ parserListener->exitDelay_mode_zero_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Delay_mode_zero_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDelay_mode_zero_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Delay_mode_zero_directiveContext* SV3_1aPpParser::delay_mode_zero_directive() { Delay_mode_zero_directiveContext *_localctx = _tracker.createInstance<Delay_mode_zero_directiveContext>(_ctx, getState()); enterRule(_localctx, 206, SV3_1aPpParser::RuleDelay_mode_zero_directive); @@ -8460,6 +9299,14 @@ parserListener->exitUndefineall_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Undefineall_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitUndefineall_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Undefineall_directiveContext* SV3_1aPpParser::undefineall_directive() { Undefineall_directiveContext *_localctx = _tracker.createInstance<Undefineall_directiveContext>(_ctx, getState()); enterRule(_localctx, 208, SV3_1aPpParser::RuleUndefineall_directive); @@ -8509,6 +9356,14 @@ parserListener->exitModule(this); } + +antlrcpp::Any SV3_1aPpParser::ModuleContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitModule(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::ModuleContext* SV3_1aPpParser::module() { ModuleContext *_localctx = _tracker.createInstance<ModuleContext>(_ctx, getState()); enterRule(_localctx, 210, SV3_1aPpParser::RuleModule); @@ -8558,6 +9413,14 @@ parserListener->exitEndmodule(this); } + +antlrcpp::Any SV3_1aPpParser::EndmoduleContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndmodule(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::EndmoduleContext* SV3_1aPpParser::endmodule() { EndmoduleContext *_localctx = _tracker.createInstance<EndmoduleContext>(_ctx, getState()); enterRule(_localctx, 212, SV3_1aPpParser::RuleEndmodule); @@ -8607,6 +9470,14 @@ parserListener->exitSv_interface(this); } + +antlrcpp::Any SV3_1aPpParser::Sv_interfaceContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSv_interface(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Sv_interfaceContext* SV3_1aPpParser::sv_interface() { Sv_interfaceContext *_localctx = _tracker.createInstance<Sv_interfaceContext>(_ctx, getState()); enterRule(_localctx, 214, SV3_1aPpParser::RuleSv_interface); @@ -8656,6 +9527,14 @@ parserListener->exitEndinterface(this); } + +antlrcpp::Any SV3_1aPpParser::EndinterfaceContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndinterface(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::EndinterfaceContext* SV3_1aPpParser::endinterface() { EndinterfaceContext *_localctx = _tracker.createInstance<EndinterfaceContext>(_ctx, getState()); enterRule(_localctx, 216, SV3_1aPpParser::RuleEndinterface); @@ -8705,6 +9584,14 @@ parserListener->exitProgram(this); } + +antlrcpp::Any SV3_1aPpParser::ProgramContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitProgram(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::ProgramContext* SV3_1aPpParser::program() { ProgramContext *_localctx = _tracker.createInstance<ProgramContext>(_ctx, getState()); enterRule(_localctx, 218, SV3_1aPpParser::RuleProgram); @@ -8754,6 +9641,14 @@ parserListener->exitEndprogram(this); } + +antlrcpp::Any SV3_1aPpParser::EndprogramContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndprogram(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::EndprogramContext* SV3_1aPpParser::endprogram() { EndprogramContext *_localctx = _tracker.createInstance<EndprogramContext>(_ctx, getState()); enterRule(_localctx, 220, SV3_1aPpParser::RuleEndprogram); @@ -8803,6 +9698,14 @@ parserListener->exitPrimitive(this); } + +antlrcpp::Any SV3_1aPpParser::PrimitiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitPrimitive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::PrimitiveContext* SV3_1aPpParser::primitive() { PrimitiveContext *_localctx = _tracker.createInstance<PrimitiveContext>(_ctx, getState()); enterRule(_localctx, 222, SV3_1aPpParser::RulePrimitive); @@ -8852,6 +9755,14 @@ parserListener->exitEndprimitive(this); } + +antlrcpp::Any SV3_1aPpParser::EndprimitiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndprimitive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::EndprimitiveContext* SV3_1aPpParser::endprimitive() { EndprimitiveContext *_localctx = _tracker.createInstance<EndprimitiveContext>(_ctx, getState()); enterRule(_localctx, 224, SV3_1aPpParser::RuleEndprimitive); @@ -8901,6 +9812,14 @@ parserListener->exitSv_package(this); } + +antlrcpp::Any SV3_1aPpParser::Sv_packageContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSv_package(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Sv_packageContext* SV3_1aPpParser::sv_package() { Sv_packageContext *_localctx = _tracker.createInstance<Sv_packageContext>(_ctx, getState()); enterRule(_localctx, 226, SV3_1aPpParser::RuleSv_package); @@ -8950,6 +9869,14 @@ parserListener->exitEndpackage(this); } + +antlrcpp::Any SV3_1aPpParser::EndpackageContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndpackage(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::EndpackageContext* SV3_1aPpParser::endpackage() { EndpackageContext *_localctx = _tracker.createInstance<EndpackageContext>(_ctx, getState()); enterRule(_localctx, 228, SV3_1aPpParser::RuleEndpackage); @@ -8999,6 +9926,14 @@ parserListener->exitChecker(this); } + +antlrcpp::Any SV3_1aPpParser::CheckerContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitChecker(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::CheckerContext* SV3_1aPpParser::checker() { CheckerContext *_localctx = _tracker.createInstance<CheckerContext>(_ctx, getState()); enterRule(_localctx, 230, SV3_1aPpParser::RuleChecker); @@ -9048,6 +9983,14 @@ parserListener->exitEndchecker(this); } + +antlrcpp::Any SV3_1aPpParser::EndcheckerContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndchecker(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::EndcheckerContext* SV3_1aPpParser::endchecker() { EndcheckerContext *_localctx = _tracker.createInstance<EndcheckerContext>(_ctx, getState()); enterRule(_localctx, 232, SV3_1aPpParser::RuleEndchecker); @@ -9097,6 +10040,14 @@ parserListener->exitConfig(this); } + +antlrcpp::Any SV3_1aPpParser::ConfigContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitConfig(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::ConfigContext* SV3_1aPpParser::config() { ConfigContext *_localctx = _tracker.createInstance<ConfigContext>(_ctx, getState()); enterRule(_localctx, 234, SV3_1aPpParser::RuleConfig); @@ -9146,6 +10097,14 @@ parserListener->exitEndconfig(this); } + +antlrcpp::Any SV3_1aPpParser::EndconfigContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEndconfig(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::EndconfigContext* SV3_1aPpParser::endconfig() { EndconfigContext *_localctx = _tracker.createInstance<EndconfigContext>(_ctx, getState()); enterRule(_localctx, 236, SV3_1aPpParser::RuleEndconfig); @@ -9215,6 +10174,14 @@ parserListener->exitDefine_directive(this); } + +antlrcpp::Any SV3_1aPpParser::Define_directiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDefine_directive(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Define_directiveContext* SV3_1aPpParser::define_directive() { Define_directiveContext *_localctx = _tracker.createInstance<Define_directiveContext>(_ctx, getState()); enterRule(_localctx, 238, SV3_1aPpParser::RuleDefine_directive); @@ -9310,6 +10277,14 @@ parserListener->exitMultiline_no_args_macro_definition(this); } + +antlrcpp::Any SV3_1aPpParser::Multiline_no_args_macro_definitionContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitMultiline_no_args_macro_definition(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Multiline_no_args_macro_definitionContext* SV3_1aPpParser::multiline_no_args_macro_definition() { Multiline_no_args_macro_definitionContext *_localctx = _tracker.createInstance<Multiline_no_args_macro_definitionContext>(_ctx, getState()); enterRule(_localctx, 240, SV3_1aPpParser::RuleMultiline_no_args_macro_definition); @@ -9412,6 +10387,14 @@ parserListener->exitMultiline_args_macro_definition(this); } + +antlrcpp::Any SV3_1aPpParser::Multiline_args_macro_definitionContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitMultiline_args_macro_definition(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Multiline_args_macro_definitionContext* SV3_1aPpParser::multiline_args_macro_definition() { Multiline_args_macro_definitionContext *_localctx = _tracker.createInstance<Multiline_args_macro_definitionContext>(_ctx, getState()); enterRule(_localctx, 242, SV3_1aPpParser::RuleMultiline_args_macro_definition); @@ -9520,6 +10503,14 @@ parserListener->exitSimple_no_args_macro_definition(this); } + +antlrcpp::Any SV3_1aPpParser::Simple_no_args_macro_definitionContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSimple_no_args_macro_definition(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Simple_no_args_macro_definitionContext* SV3_1aPpParser::simple_no_args_macro_definition() { Simple_no_args_macro_definitionContext *_localctx = _tracker.createInstance<Simple_no_args_macro_definitionContext>(_ctx, getState()); enterRule(_localctx, 244, SV3_1aPpParser::RuleSimple_no_args_macro_definition); @@ -9668,6 +10659,14 @@ parserListener->exitSimple_args_macro_definition(this); } + +antlrcpp::Any SV3_1aPpParser::Simple_args_macro_definitionContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSimple_args_macro_definition(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Simple_args_macro_definitionContext* SV3_1aPpParser::simple_args_macro_definition() { Simple_args_macro_definitionContext *_localctx = _tracker.createInstance<Simple_args_macro_definitionContext>(_ctx, getState()); enterRule(_localctx, 246, SV3_1aPpParser::RuleSimple_args_macro_definition); @@ -9800,6 +10799,14 @@ parserListener->exitIdentifier_in_macro_body(this); } + +antlrcpp::Any SV3_1aPpParser::Identifier_in_macro_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitIdentifier_in_macro_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Identifier_in_macro_bodyContext* SV3_1aPpParser::identifier_in_macro_body() { Identifier_in_macro_bodyContext *_localctx = _tracker.createInstance<Identifier_in_macro_bodyContext>(_ctx, getState()); enterRule(_localctx, 248, SV3_1aPpParser::RuleIdentifier_in_macro_body); @@ -9895,6 +10902,14 @@ parserListener->exitSimple_no_args_macro_definition_in_macro_body(this); } + +antlrcpp::Any SV3_1aPpParser::Simple_no_args_macro_definition_in_macro_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSimple_no_args_macro_definition_in_macro_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Simple_no_args_macro_definition_in_macro_bodyContext* SV3_1aPpParser::simple_no_args_macro_definition_in_macro_body() { Simple_no_args_macro_definition_in_macro_bodyContext *_localctx = _tracker.createInstance<Simple_no_args_macro_definition_in_macro_bodyContext>(_ctx, getState()); enterRule(_localctx, 250, SV3_1aPpParser::RuleSimple_no_args_macro_definition_in_macro_body); @@ -10071,6 +11086,14 @@ parserListener->exitSimple_args_macro_definition_in_macro_body(this); } + +antlrcpp::Any SV3_1aPpParser::Simple_args_macro_definition_in_macro_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSimple_args_macro_definition_in_macro_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Simple_args_macro_definition_in_macro_bodyContext* SV3_1aPpParser::simple_args_macro_definition_in_macro_body() { Simple_args_macro_definition_in_macro_bodyContext *_localctx = _tracker.createInstance<Simple_args_macro_definition_in_macro_bodyContext>(_ctx, getState()); enterRule(_localctx, 252, SV3_1aPpParser::RuleSimple_args_macro_definition_in_macro_body); @@ -10429,6 +11452,14 @@ parserListener->exitDirective_in_macro(this); } + +antlrcpp::Any SV3_1aPpParser::Directive_in_macroContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDirective_in_macro(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Directive_in_macroContext* SV3_1aPpParser::directive_in_macro() { Directive_in_macroContext *_localctx = _tracker.createInstance<Directive_in_macroContext>(_ctx, getState()); enterRule(_localctx, 254, SV3_1aPpParser::RuleDirective_in_macro); @@ -10957,6 +11988,14 @@ parserListener->exitMacro_arguments(this); } + +antlrcpp::Any SV3_1aPpParser::Macro_argumentsContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitMacro_arguments(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Macro_argumentsContext* SV3_1aPpParser::macro_arguments() { Macro_argumentsContext *_localctx = _tracker.createInstance<Macro_argumentsContext>(_ctx, getState()); enterRule(_localctx, 256, SV3_1aPpParser::RuleMacro_arguments); @@ -11111,6 +12150,14 @@ parserListener->exitEscaped_macro_definition_body(this); } + +antlrcpp::Any SV3_1aPpParser::Escaped_macro_definition_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEscaped_macro_definition_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Escaped_macro_definition_bodyContext* SV3_1aPpParser::escaped_macro_definition_body() { Escaped_macro_definition_bodyContext *_localctx = _tracker.createInstance<Escaped_macro_definition_bodyContext>(_ctx, getState()); enterRule(_localctx, 258, SV3_1aPpParser::RuleEscaped_macro_definition_body); @@ -11403,6 +12450,14 @@ parserListener->exitEscaped_macro_definition_body_alt1(this); } + +antlrcpp::Any SV3_1aPpParser::Escaped_macro_definition_body_alt1Context::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEscaped_macro_definition_body_alt1(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Escaped_macro_definition_body_alt1Context* SV3_1aPpParser::escaped_macro_definition_body_alt1() { Escaped_macro_definition_body_alt1Context *_localctx = _tracker.createInstance<Escaped_macro_definition_body_alt1Context>(_ctx, getState()); enterRule(_localctx, 260, SV3_1aPpParser::RuleEscaped_macro_definition_body_alt1); @@ -11883,6 +12938,14 @@ parserListener->exitEscaped_macro_definition_body_alt2(this); } + +antlrcpp::Any SV3_1aPpParser::Escaped_macro_definition_body_alt2Context::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEscaped_macro_definition_body_alt2(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Escaped_macro_definition_body_alt2Context* SV3_1aPpParser::escaped_macro_definition_body_alt2() { Escaped_macro_definition_body_alt2Context *_localctx = _tracker.createInstance<Escaped_macro_definition_body_alt2Context>(_ctx, getState()); enterRule(_localctx, 262, SV3_1aPpParser::RuleEscaped_macro_definition_body_alt2); @@ -12363,6 +13426,14 @@ parserListener->exitSimple_macro_definition_body(this); } + +antlrcpp::Any SV3_1aPpParser::Simple_macro_definition_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSimple_macro_definition_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Simple_macro_definition_bodyContext* SV3_1aPpParser::simple_macro_definition_body() { Simple_macro_definition_bodyContext *_localctx = _tracker.createInstance<Simple_macro_definition_bodyContext>(_ctx, getState()); enterRule(_localctx, 264, SV3_1aPpParser::RuleSimple_macro_definition_body); @@ -12797,6 +13868,14 @@ parserListener->exitSimple_macro_definition_body_in_macro_body(this); } + +antlrcpp::Any SV3_1aPpParser::Simple_macro_definition_body_in_macro_bodyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitSimple_macro_definition_body_in_macro_body(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Simple_macro_definition_body_in_macro_bodyContext* SV3_1aPpParser::simple_macro_definition_body_in_macro_body() { Simple_macro_definition_body_in_macro_bodyContext *_localctx = _tracker.createInstance<Simple_macro_definition_body_in_macro_bodyContext>(_ctx, getState()); enterRule(_localctx, 266, SV3_1aPpParser::RuleSimple_macro_definition_body_in_macro_body); @@ -13083,6 +14162,14 @@ parserListener->exitPragma_expression(this); } + +antlrcpp::Any SV3_1aPpParser::Pragma_expressionContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitPragma_expression(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Pragma_expressionContext* SV3_1aPpParser::pragma_expression() { Pragma_expressionContext *_localctx = _tracker.createInstance<Pragma_expressionContext>(_ctx, getState()); enterRule(_localctx, 268, SV3_1aPpParser::RulePragma_expression); @@ -13325,6 +14412,14 @@ parserListener->exitMacro_arg(this); } + +antlrcpp::Any SV3_1aPpParser::Macro_argContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitMacro_arg(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Macro_argContext* SV3_1aPpParser::macro_arg() { Macro_argContext *_localctx = _tracker.createInstance<Macro_argContext>(_ctx, getState()); enterRule(_localctx, 270, SV3_1aPpParser::RuleMacro_arg); @@ -13642,6 +14737,14 @@ parserListener->exitPaired_parens(this); } + +antlrcpp::Any SV3_1aPpParser::Paired_parensContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitPaired_parens(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Paired_parensContext* SV3_1aPpParser::paired_parens() { Paired_parensContext *_localctx = _tracker.createInstance<Paired_parensContext>(_ctx, getState()); enterRule(_localctx, 272, SV3_1aPpParser::RulePaired_parens); @@ -14206,6 +15309,14 @@ parserListener->exitText_blob(this); } + +antlrcpp::Any SV3_1aPpParser::Text_blobContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitText_blob(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Text_blobContext* SV3_1aPpParser::text_blob() { Text_blobContext *_localctx = _tracker.createInstance<Text_blobContext>(_ctx, getState()); enterRule(_localctx, 274, SV3_1aPpParser::RuleText_blob); @@ -14433,6 +15544,14 @@ parserListener->exitString(this); } + +antlrcpp::Any SV3_1aPpParser::StringContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitString(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::StringContext* SV3_1aPpParser::string() { StringContext *_localctx = _tracker.createInstance<StringContext>(_ctx, getState()); enterRule(_localctx, 276, SV3_1aPpParser::RuleString); @@ -14482,6 +15601,14 @@ parserListener->exitEscaped_identifier(this); } + +antlrcpp::Any SV3_1aPpParser::Escaped_identifierContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitEscaped_identifier(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Escaped_identifierContext* SV3_1aPpParser::escaped_identifier() { Escaped_identifierContext *_localctx = _tracker.createInstance<Escaped_identifierContext>(_ctx, getState()); enterRule(_localctx, 278, SV3_1aPpParser::RuleEscaped_identifier); @@ -14579,6 +15706,14 @@ parserListener->exitDefault_value(this); } + +antlrcpp::Any SV3_1aPpParser::Default_valueContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitDefault_value(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::Default_valueContext* SV3_1aPpParser::default_value() { Default_valueContext *_localctx = _tracker.createInstance<Default_valueContext>(_ctx, getState()); enterRule(_localctx, 280, SV3_1aPpParser::RuleDefault_value); @@ -14799,6 +15934,14 @@ parserListener->exitString_blob(this); } + +antlrcpp::Any SV3_1aPpParser::String_blobContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aPpParserVisitor*>(visitor)) + return parserVisitor->visitString_blob(this); + else + return visitor->visitChildren(this); +} + SV3_1aPpParser::String_blobContext* SV3_1aPpParser::string_blob() { String_blobContext *_localctx = _tracker.createInstance<String_blobContext>(_ctx, getState()); enterRule(_localctx, 282, SV3_1aPpParser::RuleString_blob);
diff --git a/src/parser/SV3_1aPpParser.h b/src/parser/SV3_1aPpParser.h index f4b1e2a..0547e44 100644 --- a/src/parser/SV3_1aPpParser.h +++ b/src/parser/SV3_1aPpParser.h
@@ -1,5 +1,5 @@ -// Generated from SV3_1aPpParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 #pragma once @@ -262,6 +262,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -347,6 +349,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -378,6 +382,8 @@ antlr4::tree::TerminalNode* Spaces(size_t i); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; class MacroInstanceNoArgsContext : public Macro_instanceContext { @@ -388,6 +394,8 @@ antlr4::tree::TerminalNode *Macro_Escaped_identifier(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; Macro_instanceContext* macro_instance(); @@ -403,6 +411,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -419,6 +429,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -433,6 +445,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -446,6 +460,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -459,6 +475,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -476,6 +494,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -492,6 +512,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -510,6 +532,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -526,6 +550,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -544,6 +570,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -560,6 +588,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -575,6 +605,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -588,6 +620,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -601,6 +635,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -617,6 +653,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -631,6 +669,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -648,6 +688,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -674,6 +716,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -691,6 +735,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -708,6 +754,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -734,6 +782,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -751,6 +801,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -768,6 +820,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -785,6 +839,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -802,6 +858,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -819,6 +877,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -836,6 +896,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -853,6 +915,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -870,6 +934,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -887,6 +953,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -900,6 +968,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -918,6 +988,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -934,6 +1006,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -950,6 +1024,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -963,6 +1039,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -979,6 +1057,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -994,6 +1074,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1010,6 +1092,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1023,6 +1107,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1039,6 +1125,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1058,6 +1146,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1074,6 +1164,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1087,6 +1179,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1103,6 +1197,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1116,6 +1212,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1132,6 +1230,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1145,6 +1245,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1161,6 +1263,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1174,6 +1278,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1190,6 +1296,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1203,6 +1311,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1219,6 +1329,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1232,6 +1344,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1248,6 +1362,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1261,6 +1377,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1277,6 +1395,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1290,6 +1410,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1306,6 +1428,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1319,6 +1443,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1333,6 +1459,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1348,6 +1476,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1364,6 +1494,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1377,6 +1509,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1393,6 +1527,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1406,6 +1542,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1422,6 +1560,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1435,6 +1575,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1451,6 +1593,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1464,6 +1608,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1480,6 +1626,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1493,6 +1641,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1509,6 +1659,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1522,6 +1674,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1538,6 +1692,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1551,6 +1707,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1567,6 +1725,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1580,6 +1740,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1596,6 +1758,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1609,6 +1773,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1625,6 +1791,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1638,6 +1806,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1654,6 +1824,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1667,6 +1839,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1683,6 +1857,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1696,6 +1872,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1712,6 +1890,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1727,6 +1907,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1743,6 +1925,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1760,6 +1944,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1776,6 +1962,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1791,6 +1979,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1807,6 +1997,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1820,6 +2012,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1836,6 +2030,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1849,6 +2045,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1865,6 +2063,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1878,6 +2078,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1894,6 +2096,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1907,6 +2111,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1923,6 +2129,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1936,6 +2144,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1949,6 +2159,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1962,6 +2174,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1975,6 +2189,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -1988,6 +2204,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2001,6 +2219,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2014,6 +2234,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2027,6 +2249,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2040,6 +2264,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2053,6 +2279,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2066,6 +2294,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2079,6 +2309,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2092,6 +2324,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2105,6 +2339,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2118,6 +2354,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2131,6 +2369,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2149,6 +2389,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2167,6 +2409,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2186,6 +2430,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2206,6 +2452,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2227,6 +2475,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2243,6 +2493,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2262,6 +2514,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2281,6 +2535,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2355,6 +2611,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2379,6 +2637,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2393,6 +2653,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2463,6 +2725,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2533,6 +2797,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2601,6 +2867,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2665,6 +2933,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2695,6 +2965,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2724,6 +2996,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2774,6 +3048,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2811,6 +3087,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2824,6 +3102,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2837,6 +3117,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2862,6 +3144,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -2894,6 +3178,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; };
diff --git a/src/parser/SV3_1aPpParser.interp b/src/parser/SV3_1aPpParser.interp new file mode 100644 index 0000000..8e2907a --- /dev/null +++ b/src/parser/SV3_1aPpParser.interp
@@ -0,0 +1,339 @@ +token literal names: +null +null +null +null +'`define' +'`celldefine' +'`endcelldefine' +'`default_nettype' +'`undef' +'`ifdef' +'`ifndef' +'`else' +'`elsif' +'`elseif' +'`endif' +'`include' +'`pragma' +'`begin_keywords' +'`end_keywords' +'`resetall' +'`timescale' +'`unconnected_drive' +'`nounconnected_drive' +'`line' +'`default_decay_time' +'`default_trireg_strength' +'`delay_mode_distributed' +'`delay_mode_path' +'`delay_mode_unit' +'`delay_mode_zero' +'`undefineall' +'`accelerate' +'`noaccelerate' +'`protect' +'`uselib' +'`disable_portfaults' +'`enable_portfaults' +'`nosuppress_faults' +'`suppress_faults' +'`signed' +'`unsigned' +'`endprotect' +'`protected' +'`endprotected' +'`expand_vectornets' +'`noexpand_vectornets' +'`autoexpand_vectornets' +'`remove_gatename' +'`noremove_gatenames' +'`remove_netname' +'`noremove_netnames' +'`__FILE__' +'`__LINE__' +'module' +'endmodule' +'interface' +'endinterface' +'program' +'endprogram' +'primivite' +'endprimitive' +'package' +'endpackage' +'checker' +'endchecker' +'config' +'endconfig' +null +null +null +null +null +null +null +null +null +null +null +null +'`"' +'`\\`"' +'``' +'(' +')' +',' +'=' +'"' +null +'{' +'}' +'[' +']' +null +null + +token symbolic names: +null +One_line_comment +Block_comment +TICK_VARIABLE +TICK_DEFINE +TICK_CELLDEFINE +TICK_ENDCELLDEFINE +TICK_DEFAULT_NETTYPE +TICK_UNDEF +TICK_IFDEF +TICK_IFNDEF +TICK_ELSE +TICK_ELSIF +TICK_ELSEIF +TICK_ENDIF +TICK_INCLUDE +TICK_PRAGMA +TICK_BEGIN_KEYWORDS +TICK_END_KEYWORDS +TICK_RESETALL +TICK_TIMESCALE +TICK_UNCONNECTED_DRIVE +TICK_NOUNCONNECTED_DRIVE +TICK_LINE +TICK_DEFAULT_DECAY_TIME +TICK_DEFAULT_TRIREG_STRENGTH +TICK_DELAY_MODE_DISTRIBUTED +TICK_DELAY_MODE_PATH +TICK_DELAY_MODE_UNIT +TICK_DELAY_MODE_ZERO +TICK_UNDEFINEALL +TICK_ACCELERATE +TICK_NOACCELERATE +TICK_PROTECT +TICK_USELIB +TICK_DISABLE_PORTFAULTS +TICK_ENABLE_PORTFAULTS +TICK_NOSUPPRESS_FAULTS +TICK_SUPPRESS_FAULTS +TICK_SIGNED +TICK_UNSIGNED +TICK_ENDPROTECT +TICK_PROTECTED +TICK_ENDPROTECTED +TICK_EXPAND_VECTORNETS +TICK_NOEXPAND_VECTORNETS +TICK_AUTOEXPAND_VECTORNETS +TICK_REMOVE_GATENAME +TICK_NOREMOVE_GATENAMES +TICK_REMOVE_NETNAME +TICK_NOREMOVE_NETNAMES +TICK_FILE__ +TICK_LINE__ +MODULE +ENDMODULE +INTERFACE +ENDINTERFACE +PROGRAM +ENDPROGRAM +PRIMITIVE +ENDPRIMITIVE +PACKAGE +ENDPACKAGE +CHECKER +ENDCHECKER +CONFIG +ENDCONFIG +Macro_identifier +Macro_Escaped_identifier +String +Simple_identifier +Spaces +Pound_delay +TIMESCALE +Number +Fixed_point_number +TEXT_CR +ESCAPED_CR +CR +TICK_QUOTE +TICK_BACKSLASH_TICK_QUOTE +TICK_TICK +PARENS_OPEN +PARENS_CLOSE +COMMA +EQUAL_OP +DOUBLE_QUOTE +Escaped_identifier +CURLY_OPEN +CURLY_CLOSE +SQUARE_OPEN +SQUARE_CLOSE +Special +ANY + +rule names: +source_text +description +macro_instance +unterminated_string +macro_actual_args +comments +number +pound_delay +macro_definition +include_directive_one_line +include_directive +line_directive_one_line +line_directive +default_nettype_directive_one_line +default_nettype_directive +sv_file_directive +sv_line_directive +timescale_directive_one_line +timescale_directive +undef_directive +ifdef_directive_one_line +ifdef_directive +ifdef_directive_in_macro_body +ifndef_directive_one_line +ifndef_directive +ifndef_directive_in_macro_body +elsif_directive_one_line +elsif_directive +elsif_directive_in_macro_body +elseif_directive_one_line +elseif_directive +elseif_directive_in_macro_body +else_directive_one_line +else_directive +endif_directive_one_line +endif_directive +resetall_directive_one_line +resetall_directive +begin_keywords_directive_one_line +begin_keywords_directive +end_keywords_directive_one_line +end_keywords_directive +pragma_directive_one_line +pragma_directive +celldefine_directive_one_line +celldefine_directive +endcelldefine_directive_one_line +endcelldefine_directive +protect_directive_one_line +protect_directive +endprotect_directive_one_line +endprotect_directive +protected_directive_one_line +protected_directive +endprotected_directive_one_line +endprotected_directive +expand_vectornets_directive_one_line +expand_vectornets_directive +noexpand_vectornets_directive_one_line +noexpand_vectornets_directive +autoexpand_vectornets_directive_one_line +autoexpand_vectornets_directive +uselib_directive_one_line +uselib_directive +disable_portfaults_directive_one_line +disable_portfaults_directive +enable_portfaults_directive_one_line +enable_portfaults_directive +nosuppress_faults_directive_one_line +nosuppress_faults_directive +suppress_faults_directive_one_line +suppress_faults_directive +signed_directive_one_line +signed_directive +unsigned_directive_one_line +unsigned_directive +remove_gatename_directive_one_line +remove_gatename_directive +noremove_gatenames_directive_one_line +noremove_gatenames_directive +remove_netname_directive_one_line +remove_netname_directive +noremove_netnames_directive_one_line +noremove_netnames_directive +accelerate_directive_one_line +accelerate_directive +noaccelerate_directive_one_line +noaccelerate_directive +default_trireg_strenght_directive_one_line +default_trireg_strenght_directive +default_decay_time_directive_one_line +default_decay_time_directive +unconnected_drive_directive_one_line +unconnected_drive_directive +nounconnected_drive_directive_one_line +nounconnected_drive_directive +delay_mode_distributed_directive_one_line +delay_mode_distributed_directive +delay_mode_path_directive_one_line +delay_mode_path_directive +delay_mode_unit_directive_one_line +delay_mode_unit_directive +delay_mode_zero_directive_one_line +delay_mode_zero_directive +undefineall_directive +module +endmodule +sv_interface +endinterface +program +endprogram +primitive +endprimitive +sv_package +endpackage +checker +endchecker +config +endconfig +define_directive +multiline_no_args_macro_definition +multiline_args_macro_definition +simple_no_args_macro_definition +simple_args_macro_definition +identifier_in_macro_body +simple_no_args_macro_definition_in_macro_body +simple_args_macro_definition_in_macro_body +directive_in_macro +macro_arguments +escaped_macro_definition_body +escaped_macro_definition_body_alt1 +escaped_macro_definition_body_alt2 +simple_macro_definition_body +simple_macro_definition_body_in_macro_body +pragma_expression +macro_arg +paired_parens +text_blob +string +escaped_identifier +default_value +string_blob + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 95, 1682, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 3, 2, 7, 2, 288, 10, 2, 12, 2, 14, 2, 291, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 366, 10, 3, 3, 4, 3, 4, 7, 4, 370, 10, 4, 12, 4, 14, 4, 373, 11, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 380, 10, 4, 3, 5, 3, 5, 7, 5, 384, 10, 5, 12, 5, 14, 5, 387, 11, 5, 3, 5, 3, 5, 3, 6, 7, 6, 392, 10, 6, 12, 6, 14, 6, 395, 11, 6, 3, 6, 3, 6, 7, 6, 399, 10, 6, 12, 6, 14, 6, 402, 11, 6, 7, 6, 404, 10, 6, 12, 6, 14, 6, 407, 11, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 5, 10, 420, 10, 10, 3, 11, 3, 11, 7, 11, 424, 10, 11, 12, 11, 14, 11, 427, 11, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 5, 12, 437, 10, 12, 3, 13, 3, 13, 7, 13, 441, 10, 13, 12, 13, 14, 13, 444, 11, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 7, 15, 457, 10, 15, 12, 15, 14, 15, 460, 11, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 7, 19, 474, 10, 19, 12, 19, 14, 19, 477, 11, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 5, 21, 489, 10, 21, 3, 22, 3, 22, 7, 22, 493, 10, 22, 12, 22, 14, 22, 496, 11, 22, 3, 22, 3, 22, 7, 22, 500, 10, 22, 12, 22, 14, 22, 503, 11, 22, 3, 22, 3, 22, 3, 22, 5, 22, 508, 10, 22, 3, 22, 6, 22, 511, 10, 22, 13, 22, 14, 22, 512, 7, 22, 515, 10, 22, 12, 22, 14, 22, 518, 11, 22, 3, 22, 5, 22, 521, 10, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 528, 10, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 5, 24, 535, 10, 24, 3, 25, 3, 25, 7, 25, 539, 10, 25, 12, 25, 14, 25, 542, 11, 25, 3, 25, 3, 25, 7, 25, 546, 10, 25, 12, 25, 14, 25, 549, 11, 25, 3, 25, 3, 25, 3, 25, 5, 25, 554, 10, 25, 3, 25, 6, 25, 557, 10, 25, 13, 25, 14, 25, 558, 7, 25, 561, 10, 25, 12, 25, 14, 25, 564, 11, 25, 3, 25, 5, 25, 567, 10, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 5, 26, 574, 10, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 5, 27, 581, 10, 27, 3, 28, 3, 28, 7, 28, 585, 10, 28, 12, 28, 14, 28, 588, 11, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 5, 29, 597, 10, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 5, 30, 604, 10, 30, 3, 31, 3, 31, 7, 31, 608, 10, 31, 12, 31, 14, 31, 611, 11, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 5, 32, 620, 10, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 5, 33, 627, 10, 33, 3, 34, 3, 34, 7, 34, 631, 10, 34, 12, 34, 14, 34, 634, 11, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 7, 36, 642, 10, 36, 12, 36, 14, 36, 645, 11, 36, 3, 36, 3, 36, 3, 36, 7, 36, 650, 10, 36, 12, 36, 14, 36, 653, 11, 36, 3, 36, 3, 36, 3, 36, 5, 36, 658, 10, 36, 3, 37, 3, 37, 7, 37, 662, 10, 37, 12, 37, 14, 37, 665, 11, 37, 3, 37, 3, 37, 5, 37, 669, 10, 37, 3, 38, 3, 38, 7, 38, 673, 10, 38, 12, 38, 14, 38, 676, 11, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 7, 40, 684, 10, 40, 12, 40, 14, 40, 687, 11, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 7, 42, 697, 10, 42, 12, 42, 14, 42, 700, 11, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 3, 44, 7, 44, 708, 10, 44, 12, 44, 14, 44, 711, 11, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 7, 45, 721, 10, 45, 12, 45, 14, 45, 724, 11, 45, 7, 45, 726, 10, 45, 12, 45, 14, 45, 729, 11, 45, 3, 46, 3, 46, 7, 46, 733, 10, 46, 12, 46, 14, 46, 736, 11, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 7, 48, 744, 10, 48, 12, 48, 14, 48, 747, 11, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 7, 50, 755, 10, 50, 12, 50, 14, 50, 758, 11, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 7, 52, 766, 10, 52, 12, 52, 14, 52, 769, 11, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 7, 54, 777, 10, 54, 12, 54, 14, 54, 780, 11, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 7, 56, 788, 10, 56, 12, 56, 14, 56, 791, 11, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 7, 58, 799, 10, 58, 12, 58, 14, 58, 802, 11, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 60, 3, 60, 7, 60, 810, 10, 60, 12, 60, 14, 60, 813, 11, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 7, 62, 821, 10, 62, 12, 62, 14, 62, 824, 11, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 6, 65, 835, 10, 65, 13, 65, 14, 65, 836, 3, 66, 3, 66, 7, 66, 841, 10, 66, 12, 66, 14, 66, 844, 11, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 68, 3, 68, 7, 68, 852, 10, 68, 12, 68, 14, 68, 855, 11, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 70, 3, 70, 7, 70, 863, 10, 70, 12, 70, 14, 70, 866, 11, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 72, 3, 72, 7, 72, 874, 10, 72, 12, 72, 14, 72, 877, 11, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 74, 3, 74, 7, 74, 885, 10, 74, 12, 74, 14, 74, 888, 11, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 7, 76, 896, 10, 76, 12, 76, 14, 76, 899, 11, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 78, 3, 78, 7, 78, 907, 10, 78, 12, 78, 14, 78, 910, 11, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 80, 3, 80, 7, 80, 918, 10, 80, 12, 80, 14, 80, 921, 11, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 7, 82, 929, 10, 82, 12, 82, 14, 82, 932, 11, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 7, 84, 940, 10, 84, 12, 84, 14, 84, 943, 11, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 7, 86, 951, 10, 86, 12, 86, 14, 86, 954, 11, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 7, 88, 962, 10, 88, 12, 88, 14, 88, 965, 11, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 7, 90, 973, 10, 90, 12, 90, 14, 90, 976, 11, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 7, 92, 986, 10, 92, 12, 92, 14, 92, 989, 11, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 5, 93, 998, 10, 93, 3, 94, 3, 94, 7, 94, 1002, 10, 94, 12, 94, 14, 94, 1005, 11, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 7, 96, 1015, 10, 96, 12, 96, 14, 96, 1018, 11, 96, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 7, 98, 1026, 10, 98, 12, 98, 14, 98, 1029, 11, 98, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 7, 100, 1037, 10, 100, 12, 100, 14, 100, 1040, 11, 100, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 7, 102, 1048, 10, 102, 12, 102, 14, 102, 1051, 11, 102, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 7, 104, 1059, 10, 104, 12, 104, 14, 104, 1062, 11, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 3, 106, 3, 107, 3, 107, 3, 108, 3, 108, 3, 109, 3, 109, 3, 110, 3, 110, 3, 111, 3, 111, 3, 112, 3, 112, 3, 113, 3, 113, 3, 114, 3, 114, 3, 115, 3, 115, 3, 116, 3, 116, 3, 117, 3, 117, 3, 118, 3, 118, 3, 119, 3, 119, 3, 120, 3, 120, 3, 121, 3, 121, 3, 121, 3, 121, 7, 121, 1102, 10, 121, 12, 121, 14, 121, 1105, 11, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122, 7, 122, 1113, 10, 122, 12, 122, 14, 122, 1116, 11, 122, 3, 122, 3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 7, 123, 1125, 10, 123, 12, 123, 14, 123, 1128, 11, 123, 3, 123, 3, 123, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 3, 124, 7, 124, 1143, 10, 124, 12, 124, 14, 124, 1146, 11, 124, 3, 124, 5, 124, 1149, 10, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 7, 125, 1164, 10, 125, 12, 125, 14, 125, 1167, 11, 125, 3, 125, 3, 125, 5, 125, 1171, 10, 125, 3, 126, 3, 126, 5, 126, 1175, 10, 126, 7, 126, 1177, 10, 126, 12, 126, 14, 126, 1180, 11, 126, 3, 127, 3, 127, 3, 127, 3, 127, 5, 127, 1186, 10, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 5, 127, 1194, 10, 127, 3, 127, 7, 127, 1197, 10, 127, 12, 127, 14, 127, 1200, 11, 127, 3, 127, 3, 127, 3, 127, 3, 127, 5, 127, 1206, 10, 127, 3, 127, 3, 127, 5, 127, 1210, 10, 127, 3, 128, 3, 128, 3, 128, 3, 128, 5, 128, 1216, 10, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 5, 128, 1226, 10, 128, 3, 128, 5, 128, 1229, 10, 128, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129, 5, 129, 1293, 10, 129, 3, 130, 3, 130, 3, 130, 7, 130, 1298, 10, 130, 12, 130, 14, 130, 1301, 11, 130, 3, 130, 3, 130, 7, 130, 1305, 10, 130, 12, 130, 14, 130, 1308, 11, 130, 7, 130, 1310, 10, 130, 12, 130, 14, 130, 1313, 11, 130, 3, 130, 3, 130, 7, 130, 1317, 10, 130, 12, 130, 14, 130, 1320, 11, 130, 3, 130, 3, 130, 7, 130, 1324, 10, 130, 12, 130, 14, 130, 1327, 11, 130, 3, 130, 3, 130, 7, 130, 1331, 10, 130, 12, 130, 14, 130, 1334, 11, 130, 7, 130, 1336, 10, 130, 12, 130, 14, 130, 1339, 11, 130, 7, 130, 1341, 10, 130, 12, 130, 14, 130, 1344, 11, 130, 7, 130, 1346, 10, 130, 12, 130, 14, 130, 1349, 11, 130, 3, 130, 3, 130, 3, 131, 3, 131, 5, 131, 1355, 10, 131, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 7, 132, 1385, 10, 132, 12, 132, 14, 132, 1388, 11, 132, 3, 132, 3, 132, 7, 132, 1392, 10, 132, 12, 132, 14, 132, 1395, 11, 132, 3, 132, 3, 132, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 7, 133, 1427, 10, 133, 12, 133, 14, 133, 1430, 11, 133, 3, 133, 3, 133, 7, 133, 1434, 10, 133, 12, 133, 14, 133, 1437, 11, 133, 3, 133, 5, 133, 1440, 10, 133, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 7, 134, 1470, 10, 134, 12, 134, 14, 134, 1473, 11, 134, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 7, 135, 1501, 10, 135, 12, 135, 14, 135, 1504, 11, 135, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 5, 136, 1524, 10, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 5, 137, 1543, 10, 137, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 7, 138, 1562, 10, 138, 12, 138, 14, 138, 1565, 11, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 7, 138, 1584, 10, 138, 12, 138, 14, 138, 1587, 11, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 7, 138, 1606, 10, 138, 12, 138, 14, 138, 1609, 11, 138, 3, 138, 5, 138, 1612, 10, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 5, 139, 1639, 10, 139, 3, 140, 3, 140, 3, 141, 3, 141, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 5, 142, 1658, 10, 142, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 5, 143, 1680, 10, 143, 3, 143, 6, 1386, 1428, 1471, 1502, 2, 144, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 2, 7, 3, 2, 69, 70, 3, 2, 3, 4, 4, 2, 3, 3, 80, 80, 4, 2, 72, 72, 89, 89, 3, 3, 80, 80, 2, 2048, 2, 289, 3, 2, 2, 2, 4, 365, 3, 2, 2, 2, 6, 379, 3, 2, 2, 2, 8, 381, 3, 2, 2, 2, 10, 393, 3, 2, 2, 2, 12, 408, 3, 2, 2, 2, 14, 410, 3, 2, 2, 2, 16, 412, 3, 2, 2, 2, 18, 419, 3, 2, 2, 2, 20, 421, 3, 2, 2, 2, 22, 430, 3, 2, 2, 2, 24, 438, 3, 2, 2, 2, 26, 447, 3, 2, 2, 2, 28, 454, 3, 2, 2, 2, 30, 463, 3, 2, 2, 2, 32, 467, 3, 2, 2, 2, 34, 469, 3, 2, 2, 2, 36, 471, 3, 2, 2, 2, 38, 480, 3, 2, 2, 2, 40, 483, 3, 2, 2, 2, 42, 490, 3, 2, 2, 2, 44, 522, 3, 2, 2, 2, 46, 529, 3, 2, 2, 2, 48, 536, 3, 2, 2, 2, 50, 568, 3, 2, 2, 2, 52, 575, 3, 2, 2, 2, 54, 582, 3, 2, 2, 2, 56, 591, 3, 2, 2, 2, 58, 598, 3, 2, 2, 2, 60, 605, 3, 2, 2, 2, 62, 614, 3, 2, 2, 2, 64, 621, 3, 2, 2, 2, 66, 628, 3, 2, 2, 2, 68, 637, 3, 2, 2, 2, 70, 657, 3, 2, 2, 2, 72, 668, 3, 2, 2, 2, 74, 670, 3, 2, 2, 2, 76, 679, 3, 2, 2, 2, 78, 681, 3, 2, 2, 2, 80, 690, 3, 2, 2, 2, 82, 694, 3, 2, 2, 2, 84, 703, 3, 2, 2, 2, 86, 705, 3, 2, 2, 2, 88, 714, 3, 2, 2, 2, 90, 730, 3, 2, 2, 2, 92, 739, 3, 2, 2, 2, 94, 741, 3, 2, 2, 2, 96, 750, 3, 2, 2, 2, 98, 752, 3, 2, 2, 2, 100, 761, 3, 2, 2, 2, 102, 763, 3, 2, 2, 2, 104, 772, 3, 2, 2, 2, 106, 774, 3, 2, 2, 2, 108, 783, 3, 2, 2, 2, 110, 785, 3, 2, 2, 2, 112, 794, 3, 2, 2, 2, 114, 796, 3, 2, 2, 2, 116, 805, 3, 2, 2, 2, 118, 807, 3, 2, 2, 2, 120, 816, 3, 2, 2, 2, 122, 818, 3, 2, 2, 2, 124, 827, 3, 2, 2, 2, 126, 829, 3, 2, 2, 2, 128, 832, 3, 2, 2, 2, 130, 838, 3, 2, 2, 2, 132, 847, 3, 2, 2, 2, 134, 849, 3, 2, 2, 2, 136, 858, 3, 2, 2, 2, 138, 860, 3, 2, 2, 2, 140, 869, 3, 2, 2, 2, 142, 871, 3, 2, 2, 2, 144, 880, 3, 2, 2, 2, 146, 882, 3, 2, 2, 2, 148, 891, 3, 2, 2, 2, 150, 893, 3, 2, 2, 2, 152, 902, 3, 2, 2, 2, 154, 904, 3, 2, 2, 2, 156, 913, 3, 2, 2, 2, 158, 915, 3, 2, 2, 2, 160, 924, 3, 2, 2, 2, 162, 926, 3, 2, 2, 2, 164, 935, 3, 2, 2, 2, 166, 937, 3, 2, 2, 2, 168, 946, 3, 2, 2, 2, 170, 948, 3, 2, 2, 2, 172, 957, 3, 2, 2, 2, 174, 959, 3, 2, 2, 2, 176, 968, 3, 2, 2, 2, 178, 970, 3, 2, 2, 2, 180, 979, 3, 2, 2, 2, 182, 983, 3, 2, 2, 2, 184, 992, 3, 2, 2, 2, 186, 999, 3, 2, 2, 2, 188, 1008, 3, 2, 2, 2, 190, 1012, 3, 2, 2, 2, 192, 1021, 3, 2, 2, 2, 194, 1023, 3, 2, 2, 2, 196, 1032, 3, 2, 2, 2, 198, 1034, 3, 2, 2, 2, 200, 1043, 3, 2, 2, 2, 202, 1045, 3, 2, 2, 2, 204, 1054, 3, 2, 2, 2, 206, 1056, 3, 2, 2, 2, 208, 1065, 3, 2, 2, 2, 210, 1067, 3, 2, 2, 2, 212, 1069, 3, 2, 2, 2, 214, 1071, 3, 2, 2, 2, 216, 1073, 3, 2, 2, 2, 218, 1075, 3, 2, 2, 2, 220, 1077, 3, 2, 2, 2, 222, 1079, 3, 2, 2, 2, 224, 1081, 3, 2, 2, 2, 226, 1083, 3, 2, 2, 2, 228, 1085, 3, 2, 2, 2, 230, 1087, 3, 2, 2, 2, 232, 1089, 3, 2, 2, 2, 234, 1091, 3, 2, 2, 2, 236, 1093, 3, 2, 2, 2, 238, 1095, 3, 2, 2, 2, 240, 1097, 3, 2, 2, 2, 242, 1108, 3, 2, 2, 2, 244, 1119, 3, 2, 2, 2, 246, 1148, 3, 2, 2, 2, 248, 1170, 3, 2, 2, 2, 250, 1178, 3, 2, 2, 2, 252, 1209, 3, 2, 2, 2, 254, 1228, 3, 2, 2, 2, 256, 1292, 3, 2, 2, 2, 258, 1294, 3, 2, 2, 2, 260, 1354, 3, 2, 2, 2, 262, 1386, 3, 2, 2, 2, 264, 1428, 3, 2, 2, 2, 266, 1471, 3, 2, 2, 2, 268, 1502, 3, 2, 2, 2, 270, 1523, 3, 2, 2, 2, 272, 1542, 3, 2, 2, 2, 274, 1611, 3, 2, 2, 2, 276, 1638, 3, 2, 2, 2, 278, 1640, 3, 2, 2, 2, 280, 1642, 3, 2, 2, 2, 282, 1657, 3, 2, 2, 2, 284, 1679, 3, 2, 2, 2, 286, 288, 5, 4, 3, 2, 287, 286, 3, 2, 2, 2, 288, 291, 3, 2, 2, 2, 289, 287, 3, 2, 2, 2, 289, 290, 3, 2, 2, 2, 290, 3, 3, 2, 2, 2, 291, 289, 3, 2, 2, 2, 292, 366, 5, 8, 5, 2, 293, 366, 5, 278, 140, 2, 294, 366, 5, 14, 8, 2, 295, 366, 5, 18, 10, 2, 296, 366, 5, 12, 7, 2, 297, 366, 5, 90, 46, 2, 298, 366, 5, 94, 48, 2, 299, 366, 5, 28, 15, 2, 300, 366, 5, 40, 21, 2, 301, 366, 5, 42, 22, 2, 302, 366, 5, 48, 25, 2, 303, 366, 5, 66, 34, 2, 304, 366, 5, 54, 28, 2, 305, 366, 5, 60, 31, 2, 306, 366, 5, 70, 36, 2, 307, 366, 5, 20, 11, 2, 308, 366, 5, 22, 12, 2, 309, 366, 5, 74, 38, 2, 310, 366, 5, 78, 40, 2, 311, 366, 5, 80, 41, 2, 312, 366, 5, 82, 42, 2, 313, 366, 5, 36, 19, 2, 314, 366, 5, 186, 94, 2, 315, 366, 5, 190, 96, 2, 316, 366, 5, 24, 13, 2, 317, 366, 5, 182, 92, 2, 318, 366, 5, 178, 90, 2, 319, 366, 5, 194, 98, 2, 320, 366, 5, 198, 100, 2, 321, 366, 5, 202, 102, 2, 322, 366, 5, 206, 104, 2, 323, 366, 5, 98, 50, 2, 324, 366, 5, 102, 52, 2, 325, 366, 5, 106, 54, 2, 326, 366, 5, 110, 56, 2, 327, 366, 5, 114, 58, 2, 328, 366, 5, 118, 60, 2, 329, 366, 5, 122, 62, 2, 330, 366, 5, 154, 78, 2, 331, 366, 5, 158, 80, 2, 332, 366, 5, 162, 82, 2, 333, 366, 5, 166, 84, 2, 334, 366, 5, 170, 86, 2, 335, 366, 5, 174, 88, 2, 336, 366, 5, 210, 106, 2, 337, 366, 5, 126, 64, 2, 338, 366, 5, 130, 66, 2, 339, 366, 5, 134, 68, 2, 340, 366, 5, 138, 70, 2, 341, 366, 5, 142, 72, 2, 342, 366, 5, 146, 74, 2, 343, 366, 5, 150, 76, 2, 344, 366, 5, 86, 44, 2, 345, 366, 5, 32, 17, 2, 346, 366, 5, 34, 18, 2, 347, 366, 5, 6, 4, 2, 348, 366, 5, 212, 107, 2, 349, 366, 5, 214, 108, 2, 350, 366, 5, 216, 109, 2, 351, 366, 5, 218, 110, 2, 352, 366, 5, 220, 111, 2, 353, 366, 5, 222, 112, 2, 354, 366, 5, 224, 113, 2, 355, 366, 5, 226, 114, 2, 356, 366, 5, 228, 115, 2, 357, 366, 5, 230, 116, 2, 358, 366, 5, 232, 117, 2, 359, 366, 5, 234, 118, 2, 360, 366, 5, 236, 119, 2, 361, 366, 5, 238, 120, 2, 362, 366, 5, 276, 139, 2, 363, 366, 5, 280, 141, 2, 364, 366, 5, 16, 9, 2, 365, 292, 3, 2, 2, 2, 365, 293, 3, 2, 2, 2, 365, 294, 3, 2, 2, 2, 365, 295, 3, 2, 2, 2, 365, 296, 3, 2, 2, 2, 365, 297, 3, 2, 2, 2, 365, 298, 3, 2, 2, 2, 365, 299, 3, 2, 2, 2, 365, 300, 3, 2, 2, 2, 365, 301, 3, 2, 2, 2, 365, 302, 3, 2, 2, 2, 365, 303, 3, 2, 2, 2, 365, 304, 3, 2, 2, 2, 365, 305, 3, 2, 2, 2, 365, 306, 3, 2, 2, 2, 365, 307, 3, 2, 2, 2, 365, 308, 3, 2, 2, 2, 365, 309, 3, 2, 2, 2, 365, 310, 3, 2, 2, 2, 365, 311, 3, 2, 2, 2, 365, 312, 3, 2, 2, 2, 365, 313, 3, 2, 2, 2, 365, 314, 3, 2, 2, 2, 365, 315, 3, 2, 2, 2, 365, 316, 3, 2, 2, 2, 365, 317, 3, 2, 2, 2, 365, 318, 3, 2, 2, 2, 365, 319, 3, 2, 2, 2, 365, 320, 3, 2, 2, 2, 365, 321, 3, 2, 2, 2, 365, 322, 3, 2, 2, 2, 365, 323, 3, 2, 2, 2, 365, 324, 3, 2, 2, 2, 365, 325, 3, 2, 2, 2, 365, 326, 3, 2, 2, 2, 365, 327, 3, 2, 2, 2, 365, 328, 3, 2, 2, 2, 365, 329, 3, 2, 2, 2, 365, 330, 3, 2, 2, 2, 365, 331, 3, 2, 2, 2, 365, 332, 3, 2, 2, 2, 365, 333, 3, 2, 2, 2, 365, 334, 3, 2, 2, 2, 365, 335, 3, 2, 2, 2, 365, 336, 3, 2, 2, 2, 365, 337, 3, 2, 2, 2, 365, 338, 3, 2, 2, 2, 365, 339, 3, 2, 2, 2, 365, 340, 3, 2, 2, 2, 365, 341, 3, 2, 2, 2, 365, 342, 3, 2, 2, 2, 365, 343, 3, 2, 2, 2, 365, 344, 3, 2, 2, 2, 365, 345, 3, 2, 2, 2, 365, 346, 3, 2, 2, 2, 365, 347, 3, 2, 2, 2, 365, 348, 3, 2, 2, 2, 365, 349, 3, 2, 2, 2, 365, 350, 3, 2, 2, 2, 365, 351, 3, 2, 2, 2, 365, 352, 3, 2, 2, 2, 365, 353, 3, 2, 2, 2, 365, 354, 3, 2, 2, 2, 365, 355, 3, 2, 2, 2, 365, 356, 3, 2, 2, 2, 365, 357, 3, 2, 2, 2, 365, 358, 3, 2, 2, 2, 365, 359, 3, 2, 2, 2, 365, 360, 3, 2, 2, 2, 365, 361, 3, 2, 2, 2, 365, 362, 3, 2, 2, 2, 365, 363, 3, 2, 2, 2, 365, 364, 3, 2, 2, 2, 366, 5, 3, 2, 2, 2, 367, 371, 9, 2, 2, 2, 368, 370, 7, 73, 2, 2, 369, 368, 3, 2, 2, 2, 370, 373, 3, 2, 2, 2, 371, 369, 3, 2, 2, 2, 371, 372, 3, 2, 2, 2, 372, 374, 3, 2, 2, 2, 373, 371, 3, 2, 2, 2, 374, 375, 7, 84, 2, 2, 375, 376, 5, 10, 6, 2, 376, 377, 7, 85, 2, 2, 377, 380, 3, 2, 2, 2, 378, 380, 9, 2, 2, 2, 379, 367, 3, 2, 2, 2, 379, 378, 3, 2, 2, 2, 380, 7, 3, 2, 2, 2, 381, 385, 7, 88, 2, 2, 382, 384, 5, 284, 143, 2, 383, 382, 3, 2, 2, 2, 384, 387, 3, 2, 2, 2, 385, 383, 3, 2, 2, 2, 385, 386, 3, 2, 2, 2, 386, 388, 3, 2, 2, 2, 387, 385, 3, 2, 2, 2, 388, 389, 7, 80, 2, 2, 389, 9, 3, 2, 2, 2, 390, 392, 5, 272, 137, 2, 391, 390, 3, 2, 2, 2, 392, 395, 3, 2, 2, 2, 393, 391, 3, 2, 2, 2, 393, 394, 3, 2, 2, 2, 394, 405, 3, 2, 2, 2, 395, 393, 3, 2, 2, 2, 396, 400, 7, 86, 2, 2, 397, 399, 5, 272, 137, 2, 398, 397, 3, 2, 2, 2, 399, 402, 3, 2, 2, 2, 400, 398, 3, 2, 2, 2, 400, 401, 3, 2, 2, 2, 401, 404, 3, 2, 2, 2, 402, 400, 3, 2, 2, 2, 403, 396, 3, 2, 2, 2, 404, 407, 3, 2, 2, 2, 405, 403, 3, 2, 2, 2, 405, 406, 3, 2, 2, 2, 406, 11, 3, 2, 2, 2, 407, 405, 3, 2, 2, 2, 408, 409, 9, 3, 2, 2, 409, 13, 3, 2, 2, 2, 410, 411, 7, 76, 2, 2, 411, 15, 3, 2, 2, 2, 412, 413, 7, 74, 2, 2, 413, 17, 3, 2, 2, 2, 414, 420, 5, 240, 121, 2, 415, 420, 5, 244, 123, 2, 416, 420, 5, 246, 124, 2, 417, 420, 5, 242, 122, 2, 418, 420, 5, 248, 125, 2, 419, 414, 3, 2, 2, 2, 419, 415, 3, 2, 2, 2, 419, 416, 3, 2, 2, 2, 419, 417, 3, 2, 2, 2, 419, 418, 3, 2, 2, 2, 420, 19, 3, 2, 2, 2, 421, 425, 5, 22, 12, 2, 422, 424, 7, 73, 2, 2, 423, 422, 3, 2, 2, 2, 424, 427, 3, 2, 2, 2, 425, 423, 3, 2, 2, 2, 425, 426, 3, 2, 2, 2, 426, 428, 3, 2, 2, 2, 427, 425, 3, 2, 2, 2, 428, 429, 7, 80, 2, 2, 429, 21, 3, 2, 2, 2, 430, 431, 7, 17, 2, 2, 431, 436, 7, 73, 2, 2, 432, 437, 7, 71, 2, 2, 433, 437, 7, 72, 2, 2, 434, 437, 7, 89, 2, 2, 435, 437, 5, 6, 4, 2, 436, 432, 3, 2, 2, 2, 436, 433, 3, 2, 2, 2, 436, 434, 3, 2, 2, 2, 436, 435, 3, 2, 2, 2, 437, 23, 3, 2, 2, 2, 438, 442, 5, 26, 14, 2, 439, 441, 7, 73, 2, 2, 440, 439, 3, 2, 2, 2, 441, 444, 3, 2, 2, 2, 442, 440, 3, 2, 2, 2, 442, 443, 3, 2, 2, 2, 443, 445, 3, 2, 2, 2, 444, 442, 3, 2, 2, 2, 445, 446, 7, 80, 2, 2, 446, 25, 3, 2, 2, 2, 447, 448, 7, 25, 2, 2, 448, 449, 7, 73, 2, 2, 449, 450, 5, 14, 8, 2, 450, 451, 7, 71, 2, 2, 451, 452, 7, 73, 2, 2, 452, 453, 5, 14, 8, 2, 453, 27, 3, 2, 2, 2, 454, 458, 5, 30, 16, 2, 455, 457, 7, 73, 2, 2, 456, 455, 3, 2, 2, 2, 457, 460, 3, 2, 2, 2, 458, 456, 3, 2, 2, 2, 458, 459, 3, 2, 2, 2, 459, 461, 3, 2, 2, 2, 460, 458, 3, 2, 2, 2, 461, 462, 7, 80, 2, 2, 462, 29, 3, 2, 2, 2, 463, 464, 7, 9, 2, 2, 464, 465, 7, 73, 2, 2, 465, 466, 7, 72, 2, 2, 466, 31, 3, 2, 2, 2, 467, 468, 7, 53, 2, 2, 468, 33, 3, 2, 2, 2, 469, 470, 7, 54, 2, 2, 470, 35, 3, 2, 2, 2, 471, 475, 5, 38, 20, 2, 472, 474, 7, 73, 2, 2, 473, 472, 3, 2, 2, 2, 474, 477, 3, 2, 2, 2, 475, 473, 3, 2, 2, 2, 475, 476, 3, 2, 2, 2, 476, 478, 3, 2, 2, 2, 477, 475, 3, 2, 2, 2, 478, 479, 7, 80, 2, 2, 479, 37, 3, 2, 2, 2, 480, 481, 7, 22, 2, 2, 481, 482, 7, 75, 2, 2, 482, 39, 3, 2, 2, 2, 483, 484, 7, 10, 2, 2, 484, 488, 7, 73, 2, 2, 485, 489, 7, 72, 2, 2, 486, 489, 7, 89, 2, 2, 487, 489, 5, 6, 4, 2, 488, 485, 3, 2, 2, 2, 488, 486, 3, 2, 2, 2, 488, 487, 3, 2, 2, 2, 489, 41, 3, 2, 2, 2, 490, 494, 5, 44, 23, 2, 491, 493, 7, 73, 2, 2, 492, 491, 3, 2, 2, 2, 493, 496, 3, 2, 2, 2, 494, 492, 3, 2, 2, 2, 494, 495, 3, 2, 2, 2, 495, 520, 3, 2, 2, 2, 496, 494, 3, 2, 2, 2, 497, 521, 9, 4, 2, 2, 498, 500, 5, 4, 3, 2, 499, 498, 3, 2, 2, 2, 500, 503, 3, 2, 2, 2, 501, 499, 3, 2, 2, 2, 501, 502, 3, 2, 2, 2, 502, 516, 3, 2, 2, 2, 503, 501, 3, 2, 2, 2, 504, 508, 5, 68, 35, 2, 505, 508, 5, 62, 32, 2, 506, 508, 5, 56, 29, 2, 507, 504, 3, 2, 2, 2, 507, 505, 3, 2, 2, 2, 507, 506, 3, 2, 2, 2, 507, 508, 3, 2, 2, 2, 508, 510, 3, 2, 2, 2, 509, 511, 5, 4, 3, 2, 510, 509, 3, 2, 2, 2, 511, 512, 3, 2, 2, 2, 512, 510, 3, 2, 2, 2, 512, 513, 3, 2, 2, 2, 513, 515, 3, 2, 2, 2, 514, 507, 3, 2, 2, 2, 515, 518, 3, 2, 2, 2, 516, 514, 3, 2, 2, 2, 516, 517, 3, 2, 2, 2, 517, 519, 3, 2, 2, 2, 518, 516, 3, 2, 2, 2, 519, 521, 5, 72, 37, 2, 520, 497, 3, 2, 2, 2, 520, 501, 3, 2, 2, 2, 521, 43, 3, 2, 2, 2, 522, 523, 7, 11, 2, 2, 523, 527, 7, 73, 2, 2, 524, 528, 7, 72, 2, 2, 525, 528, 7, 89, 2, 2, 526, 528, 5, 6, 4, 2, 527, 524, 3, 2, 2, 2, 527, 525, 3, 2, 2, 2, 527, 526, 3, 2, 2, 2, 528, 45, 3, 2, 2, 2, 529, 530, 7, 11, 2, 2, 530, 534, 7, 73, 2, 2, 531, 535, 5, 250, 126, 2, 532, 535, 7, 89, 2, 2, 533, 535, 5, 6, 4, 2, 534, 531, 3, 2, 2, 2, 534, 532, 3, 2, 2, 2, 534, 533, 3, 2, 2, 2, 535, 47, 3, 2, 2, 2, 536, 540, 5, 50, 26, 2, 537, 539, 7, 73, 2, 2, 538, 537, 3, 2, 2, 2, 539, 542, 3, 2, 2, 2, 540, 538, 3, 2, 2, 2, 540, 541, 3, 2, 2, 2, 541, 566, 3, 2, 2, 2, 542, 540, 3, 2, 2, 2, 543, 567, 9, 4, 2, 2, 544, 546, 5, 4, 3, 2, 545, 544, 3, 2, 2, 2, 546, 549, 3, 2, 2, 2, 547, 545, 3, 2, 2, 2, 547, 548, 3, 2, 2, 2, 548, 562, 3, 2, 2, 2, 549, 547, 3, 2, 2, 2, 550, 554, 5, 68, 35, 2, 551, 554, 5, 62, 32, 2, 552, 554, 5, 56, 29, 2, 553, 550, 3, 2, 2, 2, 553, 551, 3, 2, 2, 2, 553, 552, 3, 2, 2, 2, 553, 554, 3, 2, 2, 2, 554, 556, 3, 2, 2, 2, 555, 557, 5, 4, 3, 2, 556, 555, 3, 2, 2, 2, 557, 558, 3, 2, 2, 2, 558, 556, 3, 2, 2, 2, 558, 559, 3, 2, 2, 2, 559, 561, 3, 2, 2, 2, 560, 553, 3, 2, 2, 2, 561, 564, 3, 2, 2, 2, 562, 560, 3, 2, 2, 2, 562, 563, 3, 2, 2, 2, 563, 565, 3, 2, 2, 2, 564, 562, 3, 2, 2, 2, 565, 567, 5, 72, 37, 2, 566, 543, 3, 2, 2, 2, 566, 547, 3, 2, 2, 2, 567, 49, 3, 2, 2, 2, 568, 569, 7, 12, 2, 2, 569, 573, 7, 73, 2, 2, 570, 574, 7, 72, 2, 2, 571, 574, 7, 89, 2, 2, 572, 574, 5, 6, 4, 2, 573, 570, 3, 2, 2, 2, 573, 571, 3, 2, 2, 2, 573, 572, 3, 2, 2, 2, 574, 51, 3, 2, 2, 2, 575, 576, 7, 12, 2, 2, 576, 580, 7, 73, 2, 2, 577, 581, 5, 250, 126, 2, 578, 581, 7, 89, 2, 2, 579, 581, 5, 6, 4, 2, 580, 577, 3, 2, 2, 2, 580, 578, 3, 2, 2, 2, 580, 579, 3, 2, 2, 2, 581, 53, 3, 2, 2, 2, 582, 586, 5, 56, 29, 2, 583, 585, 7, 73, 2, 2, 584, 583, 3, 2, 2, 2, 585, 588, 3, 2, 2, 2, 586, 584, 3, 2, 2, 2, 586, 587, 3, 2, 2, 2, 587, 589, 3, 2, 2, 2, 588, 586, 3, 2, 2, 2, 589, 590, 9, 4, 2, 2, 590, 55, 3, 2, 2, 2, 591, 592, 7, 14, 2, 2, 592, 596, 7, 73, 2, 2, 593, 597, 7, 72, 2, 2, 594, 597, 7, 89, 2, 2, 595, 597, 5, 6, 4, 2, 596, 593, 3, 2, 2, 2, 596, 594, 3, 2, 2, 2, 596, 595, 3, 2, 2, 2, 597, 57, 3, 2, 2, 2, 598, 599, 7, 14, 2, 2, 599, 603, 7, 73, 2, 2, 600, 604, 5, 250, 126, 2, 601, 604, 7, 89, 2, 2, 602, 604, 5, 6, 4, 2, 603, 600, 3, 2, 2, 2, 603, 601, 3, 2, 2, 2, 603, 602, 3, 2, 2, 2, 604, 59, 3, 2, 2, 2, 605, 609, 5, 62, 32, 2, 606, 608, 7, 73, 2, 2, 607, 606, 3, 2, 2, 2, 608, 611, 3, 2, 2, 2, 609, 607, 3, 2, 2, 2, 609, 610, 3, 2, 2, 2, 610, 612, 3, 2, 2, 2, 611, 609, 3, 2, 2, 2, 612, 613, 9, 4, 2, 2, 613, 61, 3, 2, 2, 2, 614, 615, 7, 15, 2, 2, 615, 619, 7, 73, 2, 2, 616, 620, 7, 72, 2, 2, 617, 620, 7, 89, 2, 2, 618, 620, 5, 6, 4, 2, 619, 616, 3, 2, 2, 2, 619, 617, 3, 2, 2, 2, 619, 618, 3, 2, 2, 2, 620, 63, 3, 2, 2, 2, 621, 622, 7, 15, 2, 2, 622, 626, 7, 73, 2, 2, 623, 627, 5, 250, 126, 2, 624, 627, 7, 89, 2, 2, 625, 627, 5, 6, 4, 2, 626, 623, 3, 2, 2, 2, 626, 624, 3, 2, 2, 2, 626, 625, 3, 2, 2, 2, 627, 65, 3, 2, 2, 2, 628, 632, 5, 68, 35, 2, 629, 631, 7, 73, 2, 2, 630, 629, 3, 2, 2, 2, 631, 634, 3, 2, 2, 2, 632, 630, 3, 2, 2, 2, 632, 633, 3, 2, 2, 2, 633, 635, 3, 2, 2, 2, 634, 632, 3, 2, 2, 2, 635, 636, 9, 4, 2, 2, 636, 67, 3, 2, 2, 2, 637, 638, 7, 13, 2, 2, 638, 69, 3, 2, 2, 2, 639, 643, 7, 16, 2, 2, 640, 642, 7, 73, 2, 2, 641, 640, 3, 2, 2, 2, 642, 645, 3, 2, 2, 2, 643, 641, 3, 2, 2, 2, 643, 644, 3, 2, 2, 2, 644, 646, 3, 2, 2, 2, 645, 643, 3, 2, 2, 2, 646, 658, 7, 3, 2, 2, 647, 651, 7, 16, 2, 2, 648, 650, 7, 73, 2, 2, 649, 648, 3, 2, 2, 2, 650, 653, 3, 2, 2, 2, 651, 649, 3, 2, 2, 2, 651, 652, 3, 2, 2, 2, 652, 654, 3, 2, 2, 2, 653, 651, 3, 2, 2, 2, 654, 658, 7, 80, 2, 2, 655, 656, 7, 16, 2, 2, 656, 658, 7, 2, 2, 3, 657, 639, 3, 2, 2, 2, 657, 647, 3, 2, 2, 2, 657, 655, 3, 2, 2, 2, 658, 71, 3, 2, 2, 2, 659, 663, 7, 16, 2, 2, 660, 662, 7, 73, 2, 2, 661, 660, 3, 2, 2, 2, 662, 665, 3, 2, 2, 2, 663, 661, 3, 2, 2, 2, 663, 664, 3, 2, 2, 2, 664, 666, 3, 2, 2, 2, 665, 663, 3, 2, 2, 2, 666, 669, 7, 3, 2, 2, 667, 669, 7, 16, 2, 2, 668, 659, 3, 2, 2, 2, 668, 667, 3, 2, 2, 2, 669, 73, 3, 2, 2, 2, 670, 674, 5, 76, 39, 2, 671, 673, 7, 73, 2, 2, 672, 671, 3, 2, 2, 2, 673, 676, 3, 2, 2, 2, 674, 672, 3, 2, 2, 2, 674, 675, 3, 2, 2, 2, 675, 677, 3, 2, 2, 2, 676, 674, 3, 2, 2, 2, 677, 678, 7, 80, 2, 2, 678, 75, 3, 2, 2, 2, 679, 680, 7, 21, 2, 2, 680, 77, 3, 2, 2, 2, 681, 685, 5, 80, 41, 2, 682, 684, 7, 73, 2, 2, 683, 682, 3, 2, 2, 2, 684, 687, 3, 2, 2, 2, 685, 683, 3, 2, 2, 2, 685, 686, 3, 2, 2, 2, 686, 688, 3, 2, 2, 2, 687, 685, 3, 2, 2, 2, 688, 689, 7, 80, 2, 2, 689, 79, 3, 2, 2, 2, 690, 691, 7, 19, 2, 2, 691, 692, 7, 73, 2, 2, 692, 693, 7, 71, 2, 2, 693, 81, 3, 2, 2, 2, 694, 698, 5, 84, 43, 2, 695, 697, 7, 73, 2, 2, 696, 695, 3, 2, 2, 2, 697, 700, 3, 2, 2, 2, 698, 696, 3, 2, 2, 2, 698, 699, 3, 2, 2, 2, 699, 701, 3, 2, 2, 2, 700, 698, 3, 2, 2, 2, 701, 702, 7, 80, 2, 2, 702, 83, 3, 2, 2, 2, 703, 704, 7, 20, 2, 2, 704, 85, 3, 2, 2, 2, 705, 709, 5, 88, 45, 2, 706, 708, 7, 73, 2, 2, 707, 706, 3, 2, 2, 2, 708, 711, 3, 2, 2, 2, 709, 707, 3, 2, 2, 2, 709, 710, 3, 2, 2, 2, 710, 712, 3, 2, 2, 2, 711, 709, 3, 2, 2, 2, 712, 713, 7, 80, 2, 2, 713, 87, 3, 2, 2, 2, 714, 715, 7, 18, 2, 2, 715, 716, 7, 73, 2, 2, 716, 727, 7, 72, 2, 2, 717, 722, 5, 270, 136, 2, 718, 719, 7, 94, 2, 2, 719, 721, 5, 270, 136, 2, 720, 718, 3, 2, 2, 2, 721, 724, 3, 2, 2, 2, 722, 720, 3, 2, 2, 2, 722, 723, 3, 2, 2, 2, 723, 726, 3, 2, 2, 2, 724, 722, 3, 2, 2, 2, 725, 717, 3, 2, 2, 2, 726, 729, 3, 2, 2, 2, 727, 725, 3, 2, 2, 2, 727, 728, 3, 2, 2, 2, 728, 89, 3, 2, 2, 2, 729, 727, 3, 2, 2, 2, 730, 734, 5, 92, 47, 2, 731, 733, 7, 73, 2, 2, 732, 731, 3, 2, 2, 2, 733, 736, 3, 2, 2, 2, 734, 732, 3, 2, 2, 2, 734, 735, 3, 2, 2, 2, 735, 737, 3, 2, 2, 2, 736, 734, 3, 2, 2, 2, 737, 738, 7, 80, 2, 2, 738, 91, 3, 2, 2, 2, 739, 740, 7, 7, 2, 2, 740, 93, 3, 2, 2, 2, 741, 745, 5, 96, 49, 2, 742, 744, 7, 73, 2, 2, 743, 742, 3, 2, 2, 2, 744, 747, 3, 2, 2, 2, 745, 743, 3, 2, 2, 2, 745, 746, 3, 2, 2, 2, 746, 748, 3, 2, 2, 2, 747, 745, 3, 2, 2, 2, 748, 749, 7, 80, 2, 2, 749, 95, 3, 2, 2, 2, 750, 751, 7, 8, 2, 2, 751, 97, 3, 2, 2, 2, 752, 756, 5, 100, 51, 2, 753, 755, 7, 73, 2, 2, 754, 753, 3, 2, 2, 2, 755, 758, 3, 2, 2, 2, 756, 754, 3, 2, 2, 2, 756, 757, 3, 2, 2, 2, 757, 759, 3, 2, 2, 2, 758, 756, 3, 2, 2, 2, 759, 760, 7, 80, 2, 2, 760, 99, 3, 2, 2, 2, 761, 762, 7, 35, 2, 2, 762, 101, 3, 2, 2, 2, 763, 767, 5, 104, 53, 2, 764, 766, 7, 73, 2, 2, 765, 764, 3, 2, 2, 2, 766, 769, 3, 2, 2, 2, 767, 765, 3, 2, 2, 2, 767, 768, 3, 2, 2, 2, 768, 770, 3, 2, 2, 2, 769, 767, 3, 2, 2, 2, 770, 771, 7, 80, 2, 2, 771, 103, 3, 2, 2, 2, 772, 773, 7, 43, 2, 2, 773, 105, 3, 2, 2, 2, 774, 778, 5, 108, 55, 2, 775, 777, 7, 73, 2, 2, 776, 775, 3, 2, 2, 2, 777, 780, 3, 2, 2, 2, 778, 776, 3, 2, 2, 2, 778, 779, 3, 2, 2, 2, 779, 781, 3, 2, 2, 2, 780, 778, 3, 2, 2, 2, 781, 782, 7, 80, 2, 2, 782, 107, 3, 2, 2, 2, 783, 784, 7, 44, 2, 2, 784, 109, 3, 2, 2, 2, 785, 789, 5, 112, 57, 2, 786, 788, 7, 73, 2, 2, 787, 786, 3, 2, 2, 2, 788, 791, 3, 2, 2, 2, 789, 787, 3, 2, 2, 2, 789, 790, 3, 2, 2, 2, 790, 792, 3, 2, 2, 2, 791, 789, 3, 2, 2, 2, 792, 793, 7, 80, 2, 2, 793, 111, 3, 2, 2, 2, 794, 795, 7, 45, 2, 2, 795, 113, 3, 2, 2, 2, 796, 800, 5, 116, 59, 2, 797, 799, 7, 73, 2, 2, 798, 797, 3, 2, 2, 2, 799, 802, 3, 2, 2, 2, 800, 798, 3, 2, 2, 2, 800, 801, 3, 2, 2, 2, 801, 803, 3, 2, 2, 2, 802, 800, 3, 2, 2, 2, 803, 804, 7, 80, 2, 2, 804, 115, 3, 2, 2, 2, 805, 806, 7, 46, 2, 2, 806, 117, 3, 2, 2, 2, 807, 811, 5, 120, 61, 2, 808, 810, 7, 73, 2, 2, 809, 808, 3, 2, 2, 2, 810, 813, 3, 2, 2, 2, 811, 809, 3, 2, 2, 2, 811, 812, 3, 2, 2, 2, 812, 814, 3, 2, 2, 2, 813, 811, 3, 2, 2, 2, 814, 815, 7, 80, 2, 2, 815, 119, 3, 2, 2, 2, 816, 817, 7, 47, 2, 2, 817, 121, 3, 2, 2, 2, 818, 822, 5, 124, 63, 2, 819, 821, 7, 73, 2, 2, 820, 819, 3, 2, 2, 2, 821, 824, 3, 2, 2, 2, 822, 820, 3, 2, 2, 2, 822, 823, 3, 2, 2, 2, 823, 825, 3, 2, 2, 2, 824, 822, 3, 2, 2, 2, 825, 826, 7, 80, 2, 2, 826, 123, 3, 2, 2, 2, 827, 828, 7, 48, 2, 2, 828, 125, 3, 2, 2, 2, 829, 830, 5, 128, 65, 2, 830, 831, 7, 80, 2, 2, 831, 127, 3, 2, 2, 2, 832, 834, 7, 36, 2, 2, 833, 835, 5, 276, 139, 2, 834, 833, 3, 2, 2, 2, 835, 836, 3, 2, 2, 2, 836, 834, 3, 2, 2, 2, 836, 837, 3, 2, 2, 2, 837, 129, 3, 2, 2, 2, 838, 842, 5, 132, 67, 2, 839, 841, 7, 73, 2, 2, 840, 839, 3, 2, 2, 2, 841, 844, 3, 2, 2, 2, 842, 840, 3, 2, 2, 2, 842, 843, 3, 2, 2, 2, 843, 845, 3, 2, 2, 2, 844, 842, 3, 2, 2, 2, 845, 846, 7, 80, 2, 2, 846, 131, 3, 2, 2, 2, 847, 848, 7, 37, 2, 2, 848, 133, 3, 2, 2, 2, 849, 853, 5, 136, 69, 2, 850, 852, 7, 73, 2, 2, 851, 850, 3, 2, 2, 2, 852, 855, 3, 2, 2, 2, 853, 851, 3, 2, 2, 2, 853, 854, 3, 2, 2, 2, 854, 856, 3, 2, 2, 2, 855, 853, 3, 2, 2, 2, 856, 857, 7, 80, 2, 2, 857, 135, 3, 2, 2, 2, 858, 859, 7, 38, 2, 2, 859, 137, 3, 2, 2, 2, 860, 864, 5, 140, 71, 2, 861, 863, 7, 73, 2, 2, 862, 861, 3, 2, 2, 2, 863, 866, 3, 2, 2, 2, 864, 862, 3, 2, 2, 2, 864, 865, 3, 2, 2, 2, 865, 867, 3, 2, 2, 2, 866, 864, 3, 2, 2, 2, 867, 868, 7, 80, 2, 2, 868, 139, 3, 2, 2, 2, 869, 870, 7, 39, 2, 2, 870, 141, 3, 2, 2, 2, 871, 875, 5, 144, 73, 2, 872, 874, 7, 73, 2, 2, 873, 872, 3, 2, 2, 2, 874, 877, 3, 2, 2, 2, 875, 873, 3, 2, 2, 2, 875, 876, 3, 2, 2, 2, 876, 878, 3, 2, 2, 2, 877, 875, 3, 2, 2, 2, 878, 879, 7, 80, 2, 2, 879, 143, 3, 2, 2, 2, 880, 881, 7, 40, 2, 2, 881, 145, 3, 2, 2, 2, 882, 886, 5, 148, 75, 2, 883, 885, 7, 73, 2, 2, 884, 883, 3, 2, 2, 2, 885, 888, 3, 2, 2, 2, 886, 884, 3, 2, 2, 2, 886, 887, 3, 2, 2, 2, 887, 889, 3, 2, 2, 2, 888, 886, 3, 2, 2, 2, 889, 890, 7, 80, 2, 2, 890, 147, 3, 2, 2, 2, 891, 892, 7, 41, 2, 2, 892, 149, 3, 2, 2, 2, 893, 897, 5, 152, 77, 2, 894, 896, 7, 73, 2, 2, 895, 894, 3, 2, 2, 2, 896, 899, 3, 2, 2, 2, 897, 895, 3, 2, 2, 2, 897, 898, 3, 2, 2, 2, 898, 900, 3, 2, 2, 2, 899, 897, 3, 2, 2, 2, 900, 901, 7, 80, 2, 2, 901, 151, 3, 2, 2, 2, 902, 903, 7, 42, 2, 2, 903, 153, 3, 2, 2, 2, 904, 908, 5, 156, 79, 2, 905, 907, 7, 73, 2, 2, 906, 905, 3, 2, 2, 2, 907, 910, 3, 2, 2, 2, 908, 906, 3, 2, 2, 2, 908, 909, 3, 2, 2, 2, 909, 911, 3, 2, 2, 2, 910, 908, 3, 2, 2, 2, 911, 912, 7, 80, 2, 2, 912, 155, 3, 2, 2, 2, 913, 914, 7, 49, 2, 2, 914, 157, 3, 2, 2, 2, 915, 919, 5, 160, 81, 2, 916, 918, 7, 73, 2, 2, 917, 916, 3, 2, 2, 2, 918, 921, 3, 2, 2, 2, 919, 917, 3, 2, 2, 2, 919, 920, 3, 2, 2, 2, 920, 922, 3, 2, 2, 2, 921, 919, 3, 2, 2, 2, 922, 923, 7, 80, 2, 2, 923, 159, 3, 2, 2, 2, 924, 925, 7, 50, 2, 2, 925, 161, 3, 2, 2, 2, 926, 930, 5, 164, 83, 2, 927, 929, 7, 73, 2, 2, 928, 927, 3, 2, 2, 2, 929, 932, 3, 2, 2, 2, 930, 928, 3, 2, 2, 2, 930, 931, 3, 2, 2, 2, 931, 933, 3, 2, 2, 2, 932, 930, 3, 2, 2, 2, 933, 934, 7, 80, 2, 2, 934, 163, 3, 2, 2, 2, 935, 936, 7, 51, 2, 2, 936, 165, 3, 2, 2, 2, 937, 941, 5, 168, 85, 2, 938, 940, 7, 73, 2, 2, 939, 938, 3, 2, 2, 2, 940, 943, 3, 2, 2, 2, 941, 939, 3, 2, 2, 2, 941, 942, 3, 2, 2, 2, 942, 944, 3, 2, 2, 2, 943, 941, 3, 2, 2, 2, 944, 945, 7, 80, 2, 2, 945, 167, 3, 2, 2, 2, 946, 947, 7, 52, 2, 2, 947, 169, 3, 2, 2, 2, 948, 952, 5, 172, 87, 2, 949, 951, 7, 73, 2, 2, 950, 949, 3, 2, 2, 2, 951, 954, 3, 2, 2, 2, 952, 950, 3, 2, 2, 2, 952, 953, 3, 2, 2, 2, 953, 955, 3, 2, 2, 2, 954, 952, 3, 2, 2, 2, 955, 956, 7, 80, 2, 2, 956, 171, 3, 2, 2, 2, 957, 958, 7, 33, 2, 2, 958, 173, 3, 2, 2, 2, 959, 963, 5, 176, 89, 2, 960, 962, 7, 73, 2, 2, 961, 960, 3, 2, 2, 2, 962, 965, 3, 2, 2, 2, 963, 961, 3, 2, 2, 2, 963, 964, 3, 2, 2, 2, 964, 966, 3, 2, 2, 2, 965, 963, 3, 2, 2, 2, 966, 967, 7, 80, 2, 2, 967, 175, 3, 2, 2, 2, 968, 969, 7, 34, 2, 2, 969, 177, 3, 2, 2, 2, 970, 974, 5, 180, 91, 2, 971, 973, 7, 73, 2, 2, 972, 971, 3, 2, 2, 2, 973, 976, 3, 2, 2, 2, 974, 972, 3, 2, 2, 2, 974, 975, 3, 2, 2, 2, 975, 977, 3, 2, 2, 2, 976, 974, 3, 2, 2, 2, 977, 978, 7, 80, 2, 2, 978, 179, 3, 2, 2, 2, 979, 980, 7, 27, 2, 2, 980, 981, 7, 73, 2, 2, 981, 982, 5, 14, 8, 2, 982, 181, 3, 2, 2, 2, 983, 987, 5, 184, 93, 2, 984, 986, 7, 73, 2, 2, 985, 984, 3, 2, 2, 2, 986, 989, 3, 2, 2, 2, 987, 985, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 990, 3, 2, 2, 2, 989, 987, 3, 2, 2, 2, 990, 991, 7, 80, 2, 2, 991, 183, 3, 2, 2, 2, 992, 993, 7, 26, 2, 2, 993, 997, 7, 73, 2, 2, 994, 998, 5, 14, 8, 2, 995, 998, 7, 72, 2, 2, 996, 998, 7, 77, 2, 2, 997, 994, 3, 2, 2, 2, 997, 995, 3, 2, 2, 2, 997, 996, 3, 2, 2, 2, 998, 185, 3, 2, 2, 2, 999, 1003, 5, 188, 95, 2, 1000, 1002, 7, 73, 2, 2, 1001, 1000, 3, 2, 2, 2, 1002, 1005, 3, 2, 2, 2, 1003, 1001, 3, 2, 2, 2, 1003, 1004, 3, 2, 2, 2, 1004, 1006, 3, 2, 2, 2, 1005, 1003, 3, 2, 2, 2, 1006, 1007, 7, 80, 2, 2, 1007, 187, 3, 2, 2, 2, 1008, 1009, 7, 23, 2, 2, 1009, 1010, 7, 73, 2, 2, 1010, 1011, 7, 72, 2, 2, 1011, 189, 3, 2, 2, 2, 1012, 1016, 5, 192, 97, 2, 1013, 1015, 7, 73, 2, 2, 1014, 1013, 3, 2, 2, 2, 1015, 1018, 3, 2, 2, 2, 1016, 1014, 3, 2, 2, 2, 1016, 1017, 3, 2, 2, 2, 1017, 1019, 3, 2, 2, 2, 1018, 1016, 3, 2, 2, 2, 1019, 1020, 7, 80, 2, 2, 1020, 191, 3, 2, 2, 2, 1021, 1022, 7, 24, 2, 2, 1022, 193, 3, 2, 2, 2, 1023, 1027, 5, 196, 99, 2, 1024, 1026, 7, 73, 2, 2, 1025, 1024, 3, 2, 2, 2, 1026, 1029, 3, 2, 2, 2, 1027, 1025, 3, 2, 2, 2, 1027, 1028, 3, 2, 2, 2, 1028, 1030, 3, 2, 2, 2, 1029, 1027, 3, 2, 2, 2, 1030, 1031, 7, 80, 2, 2, 1031, 195, 3, 2, 2, 2, 1032, 1033, 7, 28, 2, 2, 1033, 197, 3, 2, 2, 2, 1034, 1038, 5, 200, 101, 2, 1035, 1037, 7, 73, 2, 2, 1036, 1035, 3, 2, 2, 2, 1037, 1040, 3, 2, 2, 2, 1038, 1036, 3, 2, 2, 2, 1038, 1039, 3, 2, 2, 2, 1039, 1041, 3, 2, 2, 2, 1040, 1038, 3, 2, 2, 2, 1041, 1042, 7, 80, 2, 2, 1042, 199, 3, 2, 2, 2, 1043, 1044, 7, 29, 2, 2, 1044, 201, 3, 2, 2, 2, 1045, 1049, 5, 204, 103, 2, 1046, 1048, 7, 73, 2, 2, 1047, 1046, 3, 2, 2, 2, 1048, 1051, 3, 2, 2, 2, 1049, 1047, 3, 2, 2, 2, 1049, 1050, 3, 2, 2, 2, 1050, 1052, 3, 2, 2, 2, 1051, 1049, 3, 2, 2, 2, 1052, 1053, 7, 80, 2, 2, 1053, 203, 3, 2, 2, 2, 1054, 1055, 7, 30, 2, 2, 1055, 205, 3, 2, 2, 2, 1056, 1060, 5, 208, 105, 2, 1057, 1059, 7, 73, 2, 2, 1058, 1057, 3, 2, 2, 2, 1059, 1062, 3, 2, 2, 2, 1060, 1058, 3, 2, 2, 2, 1060, 1061, 3, 2, 2, 2, 1061, 1063, 3, 2, 2, 2, 1062, 1060, 3, 2, 2, 2, 1063, 1064, 7, 80, 2, 2, 1064, 207, 3, 2, 2, 2, 1065, 1066, 7, 31, 2, 2, 1066, 209, 3, 2, 2, 2, 1067, 1068, 7, 32, 2, 2, 1068, 211, 3, 2, 2, 2, 1069, 1070, 7, 55, 2, 2, 1070, 213, 3, 2, 2, 2, 1071, 1072, 7, 56, 2, 2, 1072, 215, 3, 2, 2, 2, 1073, 1074, 7, 57, 2, 2, 1074, 217, 3, 2, 2, 2, 1075, 1076, 7, 58, 2, 2, 1076, 219, 3, 2, 2, 2, 1077, 1078, 7, 59, 2, 2, 1078, 221, 3, 2, 2, 2, 1079, 1080, 7, 60, 2, 2, 1080, 223, 3, 2, 2, 2, 1081, 1082, 7, 61, 2, 2, 1082, 225, 3, 2, 2, 2, 1083, 1084, 7, 62, 2, 2, 1084, 227, 3, 2, 2, 2, 1085, 1086, 7, 63, 2, 2, 1086, 229, 3, 2, 2, 2, 1087, 1088, 7, 64, 2, 2, 1088, 231, 3, 2, 2, 2, 1089, 1090, 7, 65, 2, 2, 1090, 233, 3, 2, 2, 2, 1091, 1092, 7, 66, 2, 2, 1092, 235, 3, 2, 2, 2, 1093, 1094, 7, 67, 2, 2, 1094, 237, 3, 2, 2, 2, 1095, 1096, 7, 68, 2, 2, 1096, 239, 3, 2, 2, 2, 1097, 1098, 7, 6, 2, 2, 1098, 1099, 7, 73, 2, 2, 1099, 1103, 9, 5, 2, 2, 1100, 1102, 7, 73, 2, 2, 1101, 1100, 3, 2, 2, 2, 1102, 1105, 3, 2, 2, 2, 1103, 1101, 3, 2, 2, 2, 1103, 1104, 3, 2, 2, 2, 1104, 1106, 3, 2, 2, 2, 1105, 1103, 3, 2, 2, 2, 1106, 1107, 7, 80, 2, 2, 1107, 241, 3, 2, 2, 2, 1108, 1109, 7, 6, 2, 2, 1109, 1110, 7, 73, 2, 2, 1110, 1114, 9, 5, 2, 2, 1111, 1113, 7, 73, 2, 2, 1112, 1111, 3, 2, 2, 2, 1113, 1116, 3, 2, 2, 2, 1114, 1112, 3, 2, 2, 2, 1114, 1115, 3, 2, 2, 2, 1115, 1117, 3, 2, 2, 2, 1116, 1114, 3, 2, 2, 2, 1117, 1118, 5, 260, 131, 2, 1118, 243, 3, 2, 2, 2, 1119, 1120, 7, 6, 2, 2, 1120, 1121, 7, 73, 2, 2, 1121, 1122, 9, 5, 2, 2, 1122, 1126, 5, 258, 130, 2, 1123, 1125, 7, 73, 2, 2, 1124, 1123, 3, 2, 2, 2, 1125, 1128, 3, 2, 2, 2, 1126, 1124, 3, 2, 2, 2, 1126, 1127, 3, 2, 2, 2, 1127, 1129, 3, 2, 2, 2, 1128, 1126, 3, 2, 2, 2, 1129, 1130, 5, 260, 131, 2, 1130, 245, 3, 2, 2, 2, 1131, 1132, 7, 6, 2, 2, 1132, 1133, 7, 73, 2, 2, 1133, 1134, 9, 5, 2, 2, 1134, 1135, 7, 73, 2, 2, 1135, 1136, 5, 266, 134, 2, 1136, 1137, 9, 4, 2, 2, 1137, 1149, 3, 2, 2, 2, 1138, 1139, 7, 6, 2, 2, 1139, 1140, 7, 73, 2, 2, 1140, 1144, 9, 5, 2, 2, 1141, 1143, 7, 73, 2, 2, 1142, 1141, 3, 2, 2, 2, 1143, 1146, 3, 2, 2, 2, 1144, 1142, 3, 2, 2, 2, 1144, 1145, 3, 2, 2, 2, 1145, 1147, 3, 2, 2, 2, 1146, 1144, 3, 2, 2, 2, 1147, 1149, 7, 80, 2, 2, 1148, 1131, 3, 2, 2, 2, 1148, 1138, 3, 2, 2, 2, 1149, 247, 3, 2, 2, 2, 1150, 1151, 7, 6, 2, 2, 1151, 1152, 7, 73, 2, 2, 1152, 1153, 9, 5, 2, 2, 1153, 1154, 5, 258, 130, 2, 1154, 1155, 7, 73, 2, 2, 1155, 1156, 5, 266, 134, 2, 1156, 1157, 9, 4, 2, 2, 1157, 1171, 3, 2, 2, 2, 1158, 1159, 7, 6, 2, 2, 1159, 1160, 7, 73, 2, 2, 1160, 1161, 9, 5, 2, 2, 1161, 1165, 5, 258, 130, 2, 1162, 1164, 7, 73, 2, 2, 1163, 1162, 3, 2, 2, 2, 1164, 1167, 3, 2, 2, 2, 1165, 1163, 3, 2, 2, 2, 1165, 1166, 3, 2, 2, 2, 1166, 1168, 3, 2, 2, 2, 1167, 1165, 3, 2, 2, 2, 1168, 1169, 7, 80, 2, 2, 1169, 1171, 3, 2, 2, 2, 1170, 1150, 3, 2, 2, 2, 1170, 1158, 3, 2, 2, 2, 1171, 249, 3, 2, 2, 2, 1172, 1174, 7, 72, 2, 2, 1173, 1175, 7, 83, 2, 2, 1174, 1173, 3, 2, 2, 2, 1174, 1175, 3, 2, 2, 2, 1175, 1177, 3, 2, 2, 2, 1176, 1172, 3, 2, 2, 2, 1177, 1180, 3, 2, 2, 2, 1178, 1176, 3, 2, 2, 2, 1178, 1179, 3, 2, 2, 2, 1179, 251, 3, 2, 2, 2, 1180, 1178, 3, 2, 2, 2, 1181, 1182, 7, 6, 2, 2, 1182, 1185, 7, 73, 2, 2, 1183, 1186, 5, 250, 126, 2, 1184, 1186, 7, 89, 2, 2, 1185, 1183, 3, 2, 2, 2, 1185, 1184, 3, 2, 2, 2, 1186, 1187, 3, 2, 2, 2, 1187, 1188, 7, 73, 2, 2, 1188, 1210, 5, 268, 135, 2, 1189, 1190, 7, 6, 2, 2, 1190, 1193, 7, 73, 2, 2, 1191, 1194, 5, 250, 126, 2, 1192, 1194, 7, 89, 2, 2, 1193, 1191, 3, 2, 2, 2, 1193, 1192, 3, 2, 2, 2, 1194, 1198, 3, 2, 2, 2, 1195, 1197, 7, 73, 2, 2, 1196, 1195, 3, 2, 2, 2, 1197, 1200, 3, 2, 2, 2, 1198, 1196, 3, 2, 2, 2, 1198, 1199, 3, 2, 2, 2, 1199, 1210, 3, 2, 2, 2, 1200, 1198, 3, 2, 2, 2, 1201, 1202, 7, 6, 2, 2, 1202, 1205, 7, 73, 2, 2, 1203, 1206, 5, 250, 126, 2, 1204, 1206, 7, 89, 2, 2, 1205, 1203, 3, 2, 2, 2, 1205, 1204, 3, 2, 2, 2, 1206, 1207, 3, 2, 2, 2, 1207, 1208, 7, 5, 2, 2, 1208, 1210, 5, 268, 135, 2, 1209, 1181, 3, 2, 2, 2, 1209, 1189, 3, 2, 2, 2, 1209, 1201, 3, 2, 2, 2, 1210, 253, 3, 2, 2, 2, 1211, 1212, 7, 6, 2, 2, 1212, 1215, 7, 73, 2, 2, 1213, 1216, 5, 250, 126, 2, 1214, 1216, 7, 89, 2, 2, 1215, 1213, 3, 2, 2, 2, 1215, 1214, 3, 2, 2, 2, 1216, 1217, 3, 2, 2, 2, 1217, 1218, 5, 258, 130, 2, 1218, 1219, 7, 73, 2, 2, 1219, 1220, 5, 268, 135, 2, 1220, 1229, 3, 2, 2, 2, 1221, 1222, 7, 6, 2, 2, 1222, 1225, 7, 73, 2, 2, 1223, 1226, 5, 250, 126, 2, 1224, 1226, 7, 89, 2, 2, 1225, 1223, 3, 2, 2, 2, 1225, 1224, 3, 2, 2, 2, 1226, 1227, 3, 2, 2, 2, 1227, 1229, 5, 258, 130, 2, 1228, 1211, 3, 2, 2, 2, 1228, 1221, 3, 2, 2, 2, 1229, 255, 3, 2, 2, 2, 1230, 1293, 5, 92, 47, 2, 1231, 1293, 5, 96, 49, 2, 1232, 1293, 5, 30, 16, 2, 1233, 1293, 5, 40, 21, 2, 1234, 1293, 5, 44, 23, 2, 1235, 1293, 5, 50, 26, 2, 1236, 1293, 5, 68, 35, 2, 1237, 1293, 5, 56, 29, 2, 1238, 1293, 5, 62, 32, 2, 1239, 1293, 5, 72, 37, 2, 1240, 1293, 5, 22, 12, 2, 1241, 1293, 5, 76, 39, 2, 1242, 1293, 5, 38, 20, 2, 1243, 1293, 5, 188, 95, 2, 1244, 1293, 5, 192, 97, 2, 1245, 1293, 5, 26, 14, 2, 1246, 1293, 5, 184, 93, 2, 1247, 1293, 5, 180, 91, 2, 1248, 1293, 5, 196, 99, 2, 1249, 1293, 5, 200, 101, 2, 1250, 1293, 5, 204, 103, 2, 1251, 1293, 5, 208, 105, 2, 1252, 1293, 5, 100, 51, 2, 1253, 1293, 5, 104, 53, 2, 1254, 1293, 5, 108, 55, 2, 1255, 1293, 5, 112, 57, 2, 1256, 1293, 5, 116, 59, 2, 1257, 1293, 5, 120, 61, 2, 1258, 1293, 5, 124, 63, 2, 1259, 1293, 5, 156, 79, 2, 1260, 1293, 5, 160, 81, 2, 1261, 1293, 5, 164, 83, 2, 1262, 1293, 5, 168, 85, 2, 1263, 1293, 5, 172, 87, 2, 1264, 1293, 5, 176, 89, 2, 1265, 1293, 5, 210, 106, 2, 1266, 1293, 5, 128, 65, 2, 1267, 1293, 5, 132, 67, 2, 1268, 1293, 5, 136, 69, 2, 1269, 1293, 5, 140, 71, 2, 1270, 1293, 5, 144, 73, 2, 1271, 1293, 5, 148, 75, 2, 1272, 1293, 5, 152, 77, 2, 1273, 1293, 5, 32, 17, 2, 1274, 1293, 5, 34, 18, 2, 1275, 1293, 5, 228, 115, 2, 1276, 1293, 5, 230, 116, 2, 1277, 1293, 5, 212, 107, 2, 1278, 1293, 5, 214, 108, 2, 1279, 1293, 5, 216, 109, 2, 1280, 1293, 5, 218, 110, 2, 1281, 1293, 5, 220, 111, 2, 1282, 1293, 5, 222, 112, 2, 1283, 1293, 5, 224, 113, 2, 1284, 1293, 5, 226, 114, 2, 1285, 1293, 5, 232, 117, 2, 1286, 1293, 5, 234, 118, 2, 1287, 1293, 5, 236, 119, 2, 1288, 1293, 5, 238, 120, 2, 1289, 1293, 5, 254, 128, 2, 1290, 1293, 5, 252, 127, 2, 1291, 1293, 5, 16, 9, 2, 1292, 1230, 3, 2, 2, 2, 1292, 1231, 3, 2, 2, 2, 1292, 1232, 3, 2, 2, 2, 1292, 1233, 3, 2, 2, 2, 1292, 1234, 3, 2, 2, 2, 1292, 1235, 3, 2, 2, 2, 1292, 1236, 3, 2, 2, 2, 1292, 1237, 3, 2, 2, 2, 1292, 1238, 3, 2, 2, 2, 1292, 1239, 3, 2, 2, 2, 1292, 1240, 3, 2, 2, 2, 1292, 1241, 3, 2, 2, 2, 1292, 1242, 3, 2, 2, 2, 1292, 1243, 3, 2, 2, 2, 1292, 1244, 3, 2, 2, 2, 1292, 1245, 3, 2, 2, 2, 1292, 1246, 3, 2, 2, 2, 1292, 1247, 3, 2, 2, 2, 1292, 1248, 3, 2, 2, 2, 1292, 1249, 3, 2, 2, 2, 1292, 1250, 3, 2, 2, 2, 1292, 1251, 3, 2, 2, 2, 1292, 1252, 3, 2, 2, 2, 1292, 1253, 3, 2, 2, 2, 1292, 1254, 3, 2, 2, 2, 1292, 1255, 3, 2, 2, 2, 1292, 1256, 3, 2, 2, 2, 1292, 1257, 3, 2, 2, 2, 1292, 1258, 3, 2, 2, 2, 1292, 1259, 3, 2, 2, 2, 1292, 1260, 3, 2, 2, 2, 1292, 1261, 3, 2, 2, 2, 1292, 1262, 3, 2, 2, 2, 1292, 1263, 3, 2, 2, 2, 1292, 1264, 3, 2, 2, 2, 1292, 1265, 3, 2, 2, 2, 1292, 1266, 3, 2, 2, 2, 1292, 1267, 3, 2, 2, 2, 1292, 1268, 3, 2, 2, 2, 1292, 1269, 3, 2, 2, 2, 1292, 1270, 3, 2, 2, 2, 1292, 1271, 3, 2, 2, 2, 1292, 1272, 3, 2, 2, 2, 1292, 1273, 3, 2, 2, 2, 1292, 1274, 3, 2, 2, 2, 1292, 1275, 3, 2, 2, 2, 1292, 1276, 3, 2, 2, 2, 1292, 1277, 3, 2, 2, 2, 1292, 1278, 3, 2, 2, 2, 1292, 1279, 3, 2, 2, 2, 1292, 1280, 3, 2, 2, 2, 1292, 1281, 3, 2, 2, 2, 1292, 1282, 3, 2, 2, 2, 1292, 1283, 3, 2, 2, 2, 1292, 1284, 3, 2, 2, 2, 1292, 1285, 3, 2, 2, 2, 1292, 1286, 3, 2, 2, 2, 1292, 1287, 3, 2, 2, 2, 1292, 1288, 3, 2, 2, 2, 1292, 1289, 3, 2, 2, 2, 1292, 1290, 3, 2, 2, 2, 1292, 1291, 3, 2, 2, 2, 1293, 257, 3, 2, 2, 2, 1294, 1347, 7, 84, 2, 2, 1295, 1299, 7, 72, 2, 2, 1296, 1298, 7, 73, 2, 2, 1297, 1296, 3, 2, 2, 2, 1298, 1301, 3, 2, 2, 2, 1299, 1297, 3, 2, 2, 2, 1299, 1300, 3, 2, 2, 2, 1300, 1311, 3, 2, 2, 2, 1301, 1299, 3, 2, 2, 2, 1302, 1306, 7, 87, 2, 2, 1303, 1305, 5, 282, 142, 2, 1304, 1303, 3, 2, 2, 2, 1305, 1308, 3, 2, 2, 2, 1306, 1304, 3, 2, 2, 2, 1306, 1307, 3, 2, 2, 2, 1307, 1310, 3, 2, 2, 2, 1308, 1306, 3, 2, 2, 2, 1309, 1302, 3, 2, 2, 2, 1310, 1313, 3, 2, 2, 2, 1311, 1309, 3, 2, 2, 2, 1311, 1312, 3, 2, 2, 2, 1312, 1342, 3, 2, 2, 2, 1313, 1311, 3, 2, 2, 2, 1314, 1318, 7, 86, 2, 2, 1315, 1317, 7, 73, 2, 2, 1316, 1315, 3, 2, 2, 2, 1317, 1320, 3, 2, 2, 2, 1318, 1316, 3, 2, 2, 2, 1318, 1319, 3, 2, 2, 2, 1319, 1321, 3, 2, 2, 2, 1320, 1318, 3, 2, 2, 2, 1321, 1325, 7, 72, 2, 2, 1322, 1324, 7, 73, 2, 2, 1323, 1322, 3, 2, 2, 2, 1324, 1327, 3, 2, 2, 2, 1325, 1323, 3, 2, 2, 2, 1325, 1326, 3, 2, 2, 2, 1326, 1337, 3, 2, 2, 2, 1327, 1325, 3, 2, 2, 2, 1328, 1332, 7, 87, 2, 2, 1329, 1331, 5, 282, 142, 2, 1330, 1329, 3, 2, 2, 2, 1331, 1334, 3, 2, 2, 2, 1332, 1330, 3, 2, 2, 2, 1332, 1333, 3, 2, 2, 2, 1333, 1336, 3, 2, 2, 2, 1334, 1332, 3, 2, 2, 2, 1335, 1328, 3, 2, 2, 2, 1336, 1339, 3, 2, 2, 2, 1337, 1335, 3, 2, 2, 2, 1337, 1338, 3, 2, 2, 2, 1338, 1341, 3, 2, 2, 2, 1339, 1337, 3, 2, 2, 2, 1340, 1314, 3, 2, 2, 2, 1341, 1344, 3, 2, 2, 2, 1342, 1340, 3, 2, 2, 2, 1342, 1343, 3, 2, 2, 2, 1343, 1346, 3, 2, 2, 2, 1344, 1342, 3, 2, 2, 2, 1345, 1295, 3, 2, 2, 2, 1346, 1349, 3, 2, 2, 2, 1347, 1345, 3, 2, 2, 2, 1347, 1348, 3, 2, 2, 2, 1348, 1350, 3, 2, 2, 2, 1349, 1347, 3, 2, 2, 2, 1350, 1351, 7, 85, 2, 2, 1351, 259, 3, 2, 2, 2, 1352, 1355, 5, 262, 132, 2, 1353, 1355, 5, 264, 133, 2, 1354, 1352, 3, 2, 2, 2, 1354, 1353, 3, 2, 2, 2, 1355, 261, 3, 2, 2, 2, 1356, 1385, 5, 8, 5, 2, 1357, 1385, 7, 69, 2, 2, 1358, 1385, 7, 70, 2, 2, 1359, 1385, 5, 280, 141, 2, 1360, 1385, 7, 72, 2, 2, 1361, 1385, 5, 14, 8, 2, 1362, 1385, 7, 78, 2, 2, 1363, 1385, 5, 16, 9, 2, 1364, 1385, 7, 79, 2, 2, 1365, 1385, 7, 84, 2, 2, 1366, 1385, 7, 85, 2, 2, 1367, 1385, 7, 86, 2, 2, 1368, 1385, 7, 87, 2, 2, 1369, 1385, 7, 88, 2, 2, 1370, 1385, 7, 5, 2, 2, 1371, 1385, 5, 256, 129, 2, 1372, 1385, 7, 73, 2, 2, 1373, 1385, 7, 77, 2, 2, 1374, 1385, 7, 71, 2, 2, 1375, 1385, 5, 12, 7, 2, 1376, 1385, 7, 81, 2, 2, 1377, 1385, 7, 82, 2, 2, 1378, 1385, 7, 83, 2, 2, 1379, 1385, 7, 94, 2, 2, 1380, 1385, 7, 90, 2, 2, 1381, 1385, 7, 91, 2, 2, 1382, 1385, 7, 92, 2, 2, 1383, 1385, 7, 93, 2, 2, 1384, 1356, 3, 2, 2, 2, 1384, 1357, 3, 2, 2, 2, 1384, 1358, 3, 2, 2, 2, 1384, 1359, 3, 2, 2, 2, 1384, 1360, 3, 2, 2, 2, 1384, 1361, 3, 2, 2, 2, 1384, 1362, 3, 2, 2, 2, 1384, 1363, 3, 2, 2, 2, 1384, 1364, 3, 2, 2, 2, 1384, 1365, 3, 2, 2, 2, 1384, 1366, 3, 2, 2, 2, 1384, 1367, 3, 2, 2, 2, 1384, 1368, 3, 2, 2, 2, 1384, 1369, 3, 2, 2, 2, 1384, 1370, 3, 2, 2, 2, 1384, 1371, 3, 2, 2, 2, 1384, 1372, 3, 2, 2, 2, 1384, 1373, 3, 2, 2, 2, 1384, 1374, 3, 2, 2, 2, 1384, 1375, 3, 2, 2, 2, 1384, 1376, 3, 2, 2, 2, 1384, 1377, 3, 2, 2, 2, 1384, 1378, 3, 2, 2, 2, 1384, 1379, 3, 2, 2, 2, 1384, 1380, 3, 2, 2, 2, 1384, 1381, 3, 2, 2, 2, 1384, 1382, 3, 2, 2, 2, 1384, 1383, 3, 2, 2, 2, 1385, 1388, 3, 2, 2, 2, 1386, 1387, 3, 2, 2, 2, 1386, 1384, 3, 2, 2, 2, 1387, 1389, 3, 2, 2, 2, 1388, 1386, 3, 2, 2, 2, 1389, 1393, 7, 79, 2, 2, 1390, 1392, 7, 73, 2, 2, 1391, 1390, 3, 2, 2, 2, 1392, 1395, 3, 2, 2, 2, 1393, 1391, 3, 2, 2, 2, 1393, 1394, 3, 2, 2, 2, 1394, 1396, 3, 2, 2, 2, 1395, 1393, 3, 2, 2, 2, 1396, 1397, 9, 6, 2, 2, 1397, 263, 3, 2, 2, 2, 1398, 1427, 5, 8, 5, 2, 1399, 1427, 7, 69, 2, 2, 1400, 1427, 7, 70, 2, 2, 1401, 1427, 5, 280, 141, 2, 1402, 1427, 7, 72, 2, 2, 1403, 1427, 5, 14, 8, 2, 1404, 1427, 7, 78, 2, 2, 1405, 1427, 5, 16, 9, 2, 1406, 1427, 7, 79, 2, 2, 1407, 1427, 7, 84, 2, 2, 1408, 1427, 7, 85, 2, 2, 1409, 1427, 7, 86, 2, 2, 1410, 1427, 7, 87, 2, 2, 1411, 1427, 7, 88, 2, 2, 1412, 1427, 7, 5, 2, 2, 1413, 1427, 5, 256, 129, 2, 1414, 1427, 7, 73, 2, 2, 1415, 1427, 7, 77, 2, 2, 1416, 1427, 7, 71, 2, 2, 1417, 1427, 5, 12, 7, 2, 1418, 1427, 7, 81, 2, 2, 1419, 1427, 7, 82, 2, 2, 1420, 1427, 7, 83, 2, 2, 1421, 1427, 7, 94, 2, 2, 1422, 1427, 7, 90, 2, 2, 1423, 1427, 7, 91, 2, 2, 1424, 1427, 7, 92, 2, 2, 1425, 1427, 7, 93, 2, 2, 1426, 1398, 3, 2, 2, 2, 1426, 1399, 3, 2, 2, 2, 1426, 1400, 3, 2, 2, 2, 1426, 1401, 3, 2, 2, 2, 1426, 1402, 3, 2, 2, 2, 1426, 1403, 3, 2, 2, 2, 1426, 1404, 3, 2, 2, 2, 1426, 1405, 3, 2, 2, 2, 1426, 1406, 3, 2, 2, 2, 1426, 1407, 3, 2, 2, 2, 1426, 1408, 3, 2, 2, 2, 1426, 1409, 3, 2, 2, 2, 1426, 1410, 3, 2, 2, 2, 1426, 1411, 3, 2, 2, 2, 1426, 1412, 3, 2, 2, 2, 1426, 1413, 3, 2, 2, 2, 1426, 1414, 3, 2, 2, 2, 1426, 1415, 3, 2, 2, 2, 1426, 1416, 3, 2, 2, 2, 1426, 1417, 3, 2, 2, 2, 1426, 1418, 3, 2, 2, 2, 1426, 1419, 3, 2, 2, 2, 1426, 1420, 3, 2, 2, 2, 1426, 1421, 3, 2, 2, 2, 1426, 1422, 3, 2, 2, 2, 1426, 1423, 3, 2, 2, 2, 1426, 1424, 3, 2, 2, 2, 1426, 1425, 3, 2, 2, 2, 1427, 1430, 3, 2, 2, 2, 1428, 1429, 3, 2, 2, 2, 1428, 1426, 3, 2, 2, 2, 1429, 1439, 3, 2, 2, 2, 1430, 1428, 3, 2, 2, 2, 1431, 1435, 7, 80, 2, 2, 1432, 1434, 7, 73, 2, 2, 1433, 1432, 3, 2, 2, 2, 1434, 1437, 3, 2, 2, 2, 1435, 1433, 3, 2, 2, 2, 1435, 1436, 3, 2, 2, 2, 1436, 1440, 3, 2, 2, 2, 1437, 1435, 3, 2, 2, 2, 1438, 1440, 7, 2, 2, 3, 1439, 1431, 3, 2, 2, 2, 1439, 1438, 3, 2, 2, 2, 1440, 265, 3, 2, 2, 2, 1441, 1470, 5, 8, 5, 2, 1442, 1470, 7, 69, 2, 2, 1443, 1470, 7, 70, 2, 2, 1444, 1470, 5, 280, 141, 2, 1445, 1470, 7, 72, 2, 2, 1446, 1470, 5, 14, 8, 2, 1447, 1470, 5, 16, 9, 2, 1448, 1470, 7, 78, 2, 2, 1449, 1470, 7, 84, 2, 2, 1450, 1470, 7, 85, 2, 2, 1451, 1470, 7, 86, 2, 2, 1452, 1470, 7, 87, 2, 2, 1453, 1470, 7, 88, 2, 2, 1454, 1470, 7, 5, 2, 2, 1455, 1470, 7, 73, 2, 2, 1456, 1470, 7, 77, 2, 2, 1457, 1470, 7, 71, 2, 2, 1458, 1470, 5, 12, 7, 2, 1459, 1470, 7, 81, 2, 2, 1460, 1470, 7, 82, 2, 2, 1461, 1470, 7, 83, 2, 2, 1462, 1470, 7, 94, 2, 2, 1463, 1470, 7, 90, 2, 2, 1464, 1470, 7, 91, 2, 2, 1465, 1470, 7, 92, 2, 2, 1466, 1470, 7, 93, 2, 2, 1467, 1470, 7, 17, 2, 2, 1468, 1470, 5, 256, 129, 2, 1469, 1441, 3, 2, 2, 2, 1469, 1442, 3, 2, 2, 2, 1469, 1443, 3, 2, 2, 2, 1469, 1444, 3, 2, 2, 2, 1469, 1445, 3, 2, 2, 2, 1469, 1446, 3, 2, 2, 2, 1469, 1447, 3, 2, 2, 2, 1469, 1448, 3, 2, 2, 2, 1469, 1449, 3, 2, 2, 2, 1469, 1450, 3, 2, 2, 2, 1469, 1451, 3, 2, 2, 2, 1469, 1452, 3, 2, 2, 2, 1469, 1453, 3, 2, 2, 2, 1469, 1454, 3, 2, 2, 2, 1469, 1455, 3, 2, 2, 2, 1469, 1456, 3, 2, 2, 2, 1469, 1457, 3, 2, 2, 2, 1469, 1458, 3, 2, 2, 2, 1469, 1459, 3, 2, 2, 2, 1469, 1460, 3, 2, 2, 2, 1469, 1461, 3, 2, 2, 2, 1469, 1462, 3, 2, 2, 2, 1469, 1463, 3, 2, 2, 2, 1469, 1464, 3, 2, 2, 2, 1469, 1465, 3, 2, 2, 2, 1469, 1466, 3, 2, 2, 2, 1469, 1467, 3, 2, 2, 2, 1469, 1468, 3, 2, 2, 2, 1470, 1473, 3, 2, 2, 2, 1471, 1472, 3, 2, 2, 2, 1471, 1469, 3, 2, 2, 2, 1472, 267, 3, 2, 2, 2, 1473, 1471, 3, 2, 2, 2, 1474, 1501, 5, 8, 5, 2, 1475, 1501, 7, 69, 2, 2, 1476, 1501, 7, 70, 2, 2, 1477, 1501, 5, 280, 141, 2, 1478, 1501, 7, 72, 2, 2, 1479, 1501, 5, 14, 8, 2, 1480, 1501, 5, 16, 9, 2, 1481, 1501, 7, 78, 2, 2, 1482, 1501, 7, 84, 2, 2, 1483, 1501, 7, 85, 2, 2, 1484, 1501, 7, 86, 2, 2, 1485, 1501, 7, 87, 2, 2, 1486, 1501, 7, 88, 2, 2, 1487, 1501, 7, 5, 2, 2, 1488, 1501, 7, 73, 2, 2, 1489, 1501, 7, 77, 2, 2, 1490, 1501, 7, 71, 2, 2, 1491, 1501, 5, 12, 7, 2, 1492, 1501, 7, 81, 2, 2, 1493, 1501, 7, 82, 2, 2, 1494, 1501, 7, 83, 2, 2, 1495, 1501, 7, 94, 2, 2, 1496, 1501, 7, 90, 2, 2, 1497, 1501, 7, 91, 2, 2, 1498, 1501, 7, 92, 2, 2, 1499, 1501, 7, 93, 2, 2, 1500, 1474, 3, 2, 2, 2, 1500, 1475, 3, 2, 2, 2, 1500, 1476, 3, 2, 2, 2, 1500, 1477, 3, 2, 2, 2, 1500, 1478, 3, 2, 2, 2, 1500, 1479, 3, 2, 2, 2, 1500, 1480, 3, 2, 2, 2, 1500, 1481, 3, 2, 2, 2, 1500, 1482, 3, 2, 2, 2, 1500, 1483, 3, 2, 2, 2, 1500, 1484, 3, 2, 2, 2, 1500, 1485, 3, 2, 2, 2, 1500, 1486, 3, 2, 2, 2, 1500, 1487, 3, 2, 2, 2, 1500, 1488, 3, 2, 2, 2, 1500, 1489, 3, 2, 2, 2, 1500, 1490, 3, 2, 2, 2, 1500, 1491, 3, 2, 2, 2, 1500, 1492, 3, 2, 2, 2, 1500, 1493, 3, 2, 2, 2, 1500, 1494, 3, 2, 2, 2, 1500, 1495, 3, 2, 2, 2, 1500, 1496, 3, 2, 2, 2, 1500, 1497, 3, 2, 2, 2, 1500, 1498, 3, 2, 2, 2, 1500, 1499, 3, 2, 2, 2, 1501, 1504, 3, 2, 2, 2, 1502, 1503, 3, 2, 2, 2, 1502, 1500, 3, 2, 2, 2, 1503, 269, 3, 2, 2, 2, 1504, 1502, 3, 2, 2, 2, 1505, 1524, 7, 72, 2, 2, 1506, 1524, 5, 14, 8, 2, 1507, 1524, 7, 73, 2, 2, 1508, 1524, 7, 77, 2, 2, 1509, 1524, 7, 71, 2, 2, 1510, 1524, 7, 94, 2, 2, 1511, 1524, 7, 90, 2, 2, 1512, 1524, 7, 91, 2, 2, 1513, 1524, 7, 92, 2, 2, 1514, 1524, 7, 93, 2, 2, 1515, 1524, 7, 84, 2, 2, 1516, 1524, 7, 85, 2, 2, 1517, 1524, 7, 86, 2, 2, 1518, 1524, 7, 87, 2, 2, 1519, 1524, 7, 88, 2, 2, 1520, 1524, 7, 95, 2, 2, 1521, 1524, 5, 280, 141, 2, 1522, 1524, 5, 16, 9, 2, 1523, 1505, 3, 2, 2, 2, 1523, 1506, 3, 2, 2, 2, 1523, 1507, 3, 2, 2, 2, 1523, 1508, 3, 2, 2, 2, 1523, 1509, 3, 2, 2, 2, 1523, 1510, 3, 2, 2, 2, 1523, 1511, 3, 2, 2, 2, 1523, 1512, 3, 2, 2, 2, 1523, 1513, 3, 2, 2, 2, 1523, 1514, 3, 2, 2, 2, 1523, 1515, 3, 2, 2, 2, 1523, 1516, 3, 2, 2, 2, 1523, 1517, 3, 2, 2, 2, 1523, 1518, 3, 2, 2, 2, 1523, 1519, 3, 2, 2, 2, 1523, 1520, 3, 2, 2, 2, 1523, 1521, 3, 2, 2, 2, 1523, 1522, 3, 2, 2, 2, 1524, 271, 3, 2, 2, 2, 1525, 1543, 7, 72, 2, 2, 1526, 1543, 5, 14, 8, 2, 1527, 1543, 7, 73, 2, 2, 1528, 1543, 7, 77, 2, 2, 1529, 1543, 7, 71, 2, 2, 1530, 1543, 7, 94, 2, 2, 1531, 1543, 5, 274, 138, 2, 1532, 1543, 7, 87, 2, 2, 1533, 1543, 7, 88, 2, 2, 1534, 1543, 5, 6, 4, 2, 1535, 1543, 7, 80, 2, 2, 1536, 1543, 7, 78, 2, 2, 1537, 1543, 7, 95, 2, 2, 1538, 1543, 5, 280, 141, 2, 1539, 1543, 5, 254, 128, 2, 1540, 1543, 5, 252, 127, 2, 1541, 1543, 5, 12, 7, 2, 1542, 1525, 3, 2, 2, 2, 1542, 1526, 3, 2, 2, 2, 1542, 1527, 3, 2, 2, 2, 1542, 1528, 3, 2, 2, 2, 1542, 1529, 3, 2, 2, 2, 1542, 1530, 3, 2, 2, 2, 1542, 1531, 3, 2, 2, 2, 1542, 1532, 3, 2, 2, 2, 1542, 1533, 3, 2, 2, 2, 1542, 1534, 3, 2, 2, 2, 1542, 1535, 3, 2, 2, 2, 1542, 1536, 3, 2, 2, 2, 1542, 1537, 3, 2, 2, 2, 1542, 1538, 3, 2, 2, 2, 1542, 1539, 3, 2, 2, 2, 1542, 1540, 3, 2, 2, 2, 1542, 1541, 3, 2, 2, 2, 1543, 273, 3, 2, 2, 2, 1544, 1563, 7, 84, 2, 2, 1545, 1562, 7, 72, 2, 2, 1546, 1562, 5, 14, 8, 2, 1547, 1562, 7, 73, 2, 2, 1548, 1562, 7, 77, 2, 2, 1549, 1562, 7, 71, 2, 2, 1550, 1562, 7, 94, 2, 2, 1551, 1562, 7, 86, 2, 2, 1552, 1562, 7, 87, 2, 2, 1553, 1562, 7, 88, 2, 2, 1554, 1562, 5, 6, 4, 2, 1555, 1562, 7, 78, 2, 2, 1556, 1562, 7, 80, 2, 2, 1557, 1562, 7, 95, 2, 2, 1558, 1562, 5, 274, 138, 2, 1559, 1562, 5, 280, 141, 2, 1560, 1562, 5, 12, 7, 2, 1561, 1545, 3, 2, 2, 2, 1561, 1546, 3, 2, 2, 2, 1561, 1547, 3, 2, 2, 2, 1561, 1548, 3, 2, 2, 2, 1561, 1549, 3, 2, 2, 2, 1561, 1550, 3, 2, 2, 2, 1561, 1551, 3, 2, 2, 2, 1561, 1552, 3, 2, 2, 2, 1561, 1553, 3, 2, 2, 2, 1561, 1554, 3, 2, 2, 2, 1561, 1555, 3, 2, 2, 2, 1561, 1556, 3, 2, 2, 2, 1561, 1557, 3, 2, 2, 2, 1561, 1558, 3, 2, 2, 2, 1561, 1559, 3, 2, 2, 2, 1561, 1560, 3, 2, 2, 2, 1562, 1565, 3, 2, 2, 2, 1563, 1561, 3, 2, 2, 2, 1563, 1564, 3, 2, 2, 2, 1564, 1566, 3, 2, 2, 2, 1565, 1563, 3, 2, 2, 2, 1566, 1612, 7, 85, 2, 2, 1567, 1585, 7, 90, 2, 2, 1568, 1584, 7, 72, 2, 2, 1569, 1584, 5, 14, 8, 2, 1570, 1584, 7, 73, 2, 2, 1571, 1584, 7, 77, 2, 2, 1572, 1584, 7, 71, 2, 2, 1573, 1584, 7, 94, 2, 2, 1574, 1584, 7, 86, 2, 2, 1575, 1584, 7, 87, 2, 2, 1576, 1584, 7, 88, 2, 2, 1577, 1584, 5, 6, 4, 2, 1578, 1584, 7, 80, 2, 2, 1579, 1584, 7, 95, 2, 2, 1580, 1584, 5, 274, 138, 2, 1581, 1584, 5, 280, 141, 2, 1582, 1584, 5, 12, 7, 2, 1583, 1568, 3, 2, 2, 2, 1583, 1569, 3, 2, 2, 2, 1583, 1570, 3, 2, 2, 2, 1583, 1571, 3, 2, 2, 2, 1583, 1572, 3, 2, 2, 2, 1583, 1573, 3, 2, 2, 2, 1583, 1574, 3, 2, 2, 2, 1583, 1575, 3, 2, 2, 2, 1583, 1576, 3, 2, 2, 2, 1583, 1577, 3, 2, 2, 2, 1583, 1578, 3, 2, 2, 2, 1583, 1579, 3, 2, 2, 2, 1583, 1580, 3, 2, 2, 2, 1583, 1581, 3, 2, 2, 2, 1583, 1582, 3, 2, 2, 2, 1584, 1587, 3, 2, 2, 2, 1585, 1583, 3, 2, 2, 2, 1585, 1586, 3, 2, 2, 2, 1586, 1588, 3, 2, 2, 2, 1587, 1585, 3, 2, 2, 2, 1588, 1612, 7, 91, 2, 2, 1589, 1607, 7, 92, 2, 2, 1590, 1606, 7, 72, 2, 2, 1591, 1606, 5, 14, 8, 2, 1592, 1606, 7, 73, 2, 2, 1593, 1606, 7, 77, 2, 2, 1594, 1606, 7, 71, 2, 2, 1595, 1606, 7, 94, 2, 2, 1596, 1606, 7, 86, 2, 2, 1597, 1606, 7, 87, 2, 2, 1598, 1606, 7, 88, 2, 2, 1599, 1606, 5, 6, 4, 2, 1600, 1606, 7, 80, 2, 2, 1601, 1606, 7, 95, 2, 2, 1602, 1606, 5, 274, 138, 2, 1603, 1606, 5, 280, 141, 2, 1604, 1606, 5, 12, 7, 2, 1605, 1590, 3, 2, 2, 2, 1605, 1591, 3, 2, 2, 2, 1605, 1592, 3, 2, 2, 2, 1605, 1593, 3, 2, 2, 2, 1605, 1594, 3, 2, 2, 2, 1605, 1595, 3, 2, 2, 2, 1605, 1596, 3, 2, 2, 2, 1605, 1597, 3, 2, 2, 2, 1605, 1598, 3, 2, 2, 2, 1605, 1599, 3, 2, 2, 2, 1605, 1600, 3, 2, 2, 2, 1605, 1601, 3, 2, 2, 2, 1605, 1602, 3, 2, 2, 2, 1605, 1603, 3, 2, 2, 2, 1605, 1604, 3, 2, 2, 2, 1606, 1609, 3, 2, 2, 2, 1607, 1605, 3, 2, 2, 2, 1607, 1608, 3, 2, 2, 2, 1608, 1610, 3, 2, 2, 2, 1609, 1607, 3, 2, 2, 2, 1610, 1612, 7, 93, 2, 2, 1611, 1544, 3, 2, 2, 2, 1611, 1567, 3, 2, 2, 2, 1611, 1589, 3, 2, 2, 2, 1612, 275, 3, 2, 2, 2, 1613, 1639, 7, 72, 2, 2, 1614, 1639, 5, 14, 8, 2, 1615, 1639, 7, 80, 2, 2, 1616, 1639, 7, 73, 2, 2, 1617, 1639, 7, 77, 2, 2, 1618, 1639, 7, 79, 2, 2, 1619, 1639, 7, 71, 2, 2, 1620, 1639, 7, 84, 2, 2, 1621, 1639, 7, 85, 2, 2, 1622, 1639, 7, 86, 2, 2, 1623, 1639, 7, 87, 2, 2, 1624, 1639, 7, 88, 2, 2, 1625, 1639, 7, 94, 2, 2, 1626, 1639, 7, 90, 2, 2, 1627, 1639, 7, 91, 2, 2, 1628, 1639, 7, 92, 2, 2, 1629, 1639, 7, 93, 2, 2, 1630, 1639, 7, 83, 2, 2, 1631, 1639, 7, 5, 2, 2, 1632, 1639, 7, 75, 2, 2, 1633, 1639, 7, 95, 2, 2, 1634, 1639, 5, 16, 9, 2, 1635, 1639, 7, 81, 2, 2, 1636, 1639, 7, 82, 2, 2, 1637, 1639, 7, 78, 2, 2, 1638, 1613, 3, 2, 2, 2, 1638, 1614, 3, 2, 2, 2, 1638, 1615, 3, 2, 2, 2, 1638, 1616, 3, 2, 2, 2, 1638, 1617, 3, 2, 2, 2, 1638, 1618, 3, 2, 2, 2, 1638, 1619, 3, 2, 2, 2, 1638, 1620, 3, 2, 2, 2, 1638, 1621, 3, 2, 2, 2, 1638, 1622, 3, 2, 2, 2, 1638, 1623, 3, 2, 2, 2, 1638, 1624, 3, 2, 2, 2, 1638, 1625, 3, 2, 2, 2, 1638, 1626, 3, 2, 2, 2, 1638, 1627, 3, 2, 2, 2, 1638, 1628, 3, 2, 2, 2, 1638, 1629, 3, 2, 2, 2, 1638, 1630, 3, 2, 2, 2, 1638, 1631, 3, 2, 2, 2, 1638, 1632, 3, 2, 2, 2, 1638, 1633, 3, 2, 2, 2, 1638, 1634, 3, 2, 2, 2, 1638, 1635, 3, 2, 2, 2, 1638, 1636, 3, 2, 2, 2, 1638, 1637, 3, 2, 2, 2, 1639, 277, 3, 2, 2, 2, 1640, 1641, 7, 71, 2, 2, 1641, 279, 3, 2, 2, 2, 1642, 1643, 7, 89, 2, 2, 1643, 281, 3, 2, 2, 2, 1644, 1658, 7, 72, 2, 2, 1645, 1658, 5, 14, 8, 2, 1646, 1658, 7, 73, 2, 2, 1647, 1658, 7, 77, 2, 2, 1648, 1658, 7, 71, 2, 2, 1649, 1658, 7, 94, 2, 2, 1650, 1658, 7, 90, 2, 2, 1651, 1658, 7, 91, 2, 2, 1652, 1658, 7, 92, 2, 2, 1653, 1658, 7, 93, 2, 2, 1654, 1658, 7, 95, 2, 2, 1655, 1658, 5, 280, 141, 2, 1656, 1658, 5, 6, 4, 2, 1657, 1644, 3, 2, 2, 2, 1657, 1645, 3, 2, 2, 2, 1657, 1646, 3, 2, 2, 2, 1657, 1647, 3, 2, 2, 2, 1657, 1648, 3, 2, 2, 2, 1657, 1649, 3, 2, 2, 2, 1657, 1650, 3, 2, 2, 2, 1657, 1651, 3, 2, 2, 2, 1657, 1652, 3, 2, 2, 2, 1657, 1653, 3, 2, 2, 2, 1657, 1654, 3, 2, 2, 2, 1657, 1655, 3, 2, 2, 2, 1657, 1656, 3, 2, 2, 2, 1658, 283, 3, 2, 2, 2, 1659, 1680, 7, 72, 2, 2, 1660, 1680, 5, 14, 8, 2, 1661, 1680, 7, 73, 2, 2, 1662, 1680, 7, 77, 2, 2, 1663, 1680, 7, 79, 2, 2, 1664, 1680, 7, 84, 2, 2, 1665, 1680, 7, 85, 2, 2, 1666, 1680, 7, 86, 2, 2, 1667, 1680, 7, 87, 2, 2, 1668, 1680, 7, 88, 2, 2, 1669, 1680, 7, 94, 2, 2, 1670, 1680, 7, 90, 2, 2, 1671, 1680, 7, 91, 2, 2, 1672, 1680, 7, 92, 2, 2, 1673, 1680, 7, 93, 2, 2, 1674, 1680, 7, 95, 2, 2, 1675, 1680, 5, 280, 141, 2, 1676, 1680, 7, 75, 2, 2, 1677, 1680, 5, 16, 9, 2, 1678, 1680, 7, 78, 2, 2, 1679, 1659, 3, 2, 2, 2, 1679, 1660, 3, 2, 2, 2, 1679, 1661, 3, 2, 2, 2, 1679, 1662, 3, 2, 2, 2, 1679, 1663, 3, 2, 2, 2, 1679, 1664, 3, 2, 2, 2, 1679, 1665, 3, 2, 2, 2, 1679, 1666, 3, 2, 2, 2, 1679, 1667, 3, 2, 2, 2, 1679, 1668, 3, 2, 2, 2, 1679, 1669, 3, 2, 2, 2, 1679, 1670, 3, 2, 2, 2, 1679, 1671, 3, 2, 2, 2, 1679, 1672, 3, 2, 2, 2, 1679, 1673, 3, 2, 2, 2, 1679, 1674, 3, 2, 2, 2, 1679, 1675, 3, 2, 2, 2, 1679, 1676, 3, 2, 2, 2, 1679, 1677, 3, 2, 2, 2, 1679, 1678, 3, 2, 2, 2, 1680, 285, 3, 2, 2, 2, 133, 289, 365, 371, 379, 385, 393, 400, 405, 419, 425, 436, 442, 458, 475, 488, 494, 501, 507, 512, 516, 520, 527, 534, 540, 547, 553, 558, 562, 566, 573, 580, 586, 596, 603, 609, 619, 626, 632, 643, 651, 657, 663, 668, 674, 685, 698, 709, 722, 727, 734, 745, 756, 767, 778, 789, 800, 811, 822, 836, 842, 853, 864, 875, 886, 897, 908, 919, 930, 941, 952, 963, 974, 987, 997, 1003, 1016, 1027, 1038, 1049, 1060, 1103, 1114, 1126, 1144, 1148, 1165, 1170, 1174, 1178, 1185, 1193, 1198, 1205, 1209, 1215, 1225, 1228, 1292, 1299, 1306, 1311, 1318, 1325, 1332, 1337, 1342, 1347, 1354, 1384, 1386, 1393, 1426, 1428, 1435, 1439, 1469, 1471, 1500, 1502, 1523, 1542, 1561, 1563, 1583, 1585, 1605, 1607, 1611, 1638, 1657, 1679] \ No newline at end of file
diff --git a/src/parser/SV3_1aPpParserBaseListener.cpp b/src/parser/SV3_1aPpParserBaseListener.cpp index 464db61..1932dc2 100644 --- a/src/parser/SV3_1aPpParserBaseListener.cpp +++ b/src/parser/SV3_1aPpParserBaseListener.cpp
@@ -1,5 +1,5 @@ -// Generated from SV3_1aPpParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 #include "SV3_1aPpParserBaseListener.h"
diff --git a/src/parser/SV3_1aPpParserBaseListener.h b/src/parser/SV3_1aPpParserBaseListener.h index c0a54d9..b7be32c 100644 --- a/src/parser/SV3_1aPpParserBaseListener.h +++ b/src/parser/SV3_1aPpParserBaseListener.h
@@ -1,5 +1,5 @@ -// Generated from SV3_1aPpParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 #pragma once
diff --git a/src/parser/SV3_1aPpParserBaseVisitor.cpp b/src/parser/SV3_1aPpParserBaseVisitor.cpp new file mode 100644 index 0000000..945f779 --- /dev/null +++ b/src/parser/SV3_1aPpParserBaseVisitor.cpp
@@ -0,0 +1,7 @@ + +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 + + +#include "SV3_1aPpParserBaseVisitor.h" + +
diff --git a/src/parser/SV3_1aPpParserBaseVisitor.h b/src/parser/SV3_1aPpParserBaseVisitor.h new file mode 100644 index 0000000..690777d --- /dev/null +++ b/src/parser/SV3_1aPpParserBaseVisitor.h
@@ -0,0 +1,592 @@ + +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 + +#pragma once + + +#include "antlr4-runtime.h" +#include "SV3_1aPpParserVisitor.h" + + +/** + * This class provides an empty implementation of SV3_1aPpParserVisitor, which can be + * extended to create a visitor which only needs to handle a subset of the available methods. + */ +class SV3_1aPpParserBaseVisitor : public SV3_1aPpParserVisitor { +public: + + virtual antlrcpp::Any visitSource_text(SV3_1aPpParser::Source_textContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDescription(SV3_1aPpParser::DescriptionContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitMacroInstanceWithArgs(SV3_1aPpParser::MacroInstanceWithArgsContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitMacroInstanceNoArgs(SV3_1aPpParser::MacroInstanceNoArgsContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitUnterminated_string(SV3_1aPpParser::Unterminated_stringContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitMacro_actual_args(SV3_1aPpParser::Macro_actual_argsContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitComments(SV3_1aPpParser::CommentsContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNumber(SV3_1aPpParser::NumberContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitPound_delay(SV3_1aPpParser::Pound_delayContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitMacro_definition(SV3_1aPpParser::Macro_definitionContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitInclude_directive_one_line(SV3_1aPpParser::Include_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitInclude_directive(SV3_1aPpParser::Include_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitLine_directive_one_line(SV3_1aPpParser::Line_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitLine_directive(SV3_1aPpParser::Line_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDefault_nettype_directive_one_line(SV3_1aPpParser::Default_nettype_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDefault_nettype_directive(SV3_1aPpParser::Default_nettype_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSv_file_directive(SV3_1aPpParser::Sv_file_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSv_line_directive(SV3_1aPpParser::Sv_line_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitTimescale_directive_one_line(SV3_1aPpParser::Timescale_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitTimescale_directive(SV3_1aPpParser::Timescale_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitUndef_directive(SV3_1aPpParser::Undef_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitIfdef_directive_one_line(SV3_1aPpParser::Ifdef_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitIfdef_directive(SV3_1aPpParser::Ifdef_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitIfdef_directive_in_macro_body(SV3_1aPpParser::Ifdef_directive_in_macro_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitIfndef_directive_one_line(SV3_1aPpParser::Ifndef_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitIfndef_directive(SV3_1aPpParser::Ifndef_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitIfndef_directive_in_macro_body(SV3_1aPpParser::Ifndef_directive_in_macro_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitElsif_directive_one_line(SV3_1aPpParser::Elsif_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitElsif_directive(SV3_1aPpParser::Elsif_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitElsif_directive_in_macro_body(SV3_1aPpParser::Elsif_directive_in_macro_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitElseif_directive_one_line(SV3_1aPpParser::Elseif_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitElseif_directive(SV3_1aPpParser::Elseif_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitElseif_directive_in_macro_body(SV3_1aPpParser::Elseif_directive_in_macro_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitElse_directive_one_line(SV3_1aPpParser::Else_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitElse_directive(SV3_1aPpParser::Else_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndif_directive_one_line(SV3_1aPpParser::Endif_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndif_directive(SV3_1aPpParser::Endif_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitResetall_directive_one_line(SV3_1aPpParser::Resetall_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitResetall_directive(SV3_1aPpParser::Resetall_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitBegin_keywords_directive_one_line(SV3_1aPpParser::Begin_keywords_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitBegin_keywords_directive(SV3_1aPpParser::Begin_keywords_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEnd_keywords_directive_one_line(SV3_1aPpParser::End_keywords_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEnd_keywords_directive(SV3_1aPpParser::End_keywords_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitPragma_directive_one_line(SV3_1aPpParser::Pragma_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitPragma_directive(SV3_1aPpParser::Pragma_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitCelldefine_directive_one_line(SV3_1aPpParser::Celldefine_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitCelldefine_directive(SV3_1aPpParser::Celldefine_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndcelldefine_directive_one_line(SV3_1aPpParser::Endcelldefine_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndcelldefine_directive(SV3_1aPpParser::Endcelldefine_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitProtect_directive_one_line(SV3_1aPpParser::Protect_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitProtect_directive(SV3_1aPpParser::Protect_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndprotect_directive_one_line(SV3_1aPpParser::Endprotect_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndprotect_directive(SV3_1aPpParser::Endprotect_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitProtected_directive_one_line(SV3_1aPpParser::Protected_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitProtected_directive(SV3_1aPpParser::Protected_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndprotected_directive_one_line(SV3_1aPpParser::Endprotected_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndprotected_directive(SV3_1aPpParser::Endprotected_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitExpand_vectornets_directive_one_line(SV3_1aPpParser::Expand_vectornets_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitExpand_vectornets_directive(SV3_1aPpParser::Expand_vectornets_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNoexpand_vectornets_directive_one_line(SV3_1aPpParser::Noexpand_vectornets_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNoexpand_vectornets_directive(SV3_1aPpParser::Noexpand_vectornets_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitAutoexpand_vectornets_directive_one_line(SV3_1aPpParser::Autoexpand_vectornets_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitAutoexpand_vectornets_directive(SV3_1aPpParser::Autoexpand_vectornets_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitUselib_directive_one_line(SV3_1aPpParser::Uselib_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitUselib_directive(SV3_1aPpParser::Uselib_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDisable_portfaults_directive_one_line(SV3_1aPpParser::Disable_portfaults_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDisable_portfaults_directive(SV3_1aPpParser::Disable_portfaults_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEnable_portfaults_directive_one_line(SV3_1aPpParser::Enable_portfaults_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEnable_portfaults_directive(SV3_1aPpParser::Enable_portfaults_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNosuppress_faults_directive_one_line(SV3_1aPpParser::Nosuppress_faults_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNosuppress_faults_directive(SV3_1aPpParser::Nosuppress_faults_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSuppress_faults_directive_one_line(SV3_1aPpParser::Suppress_faults_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSuppress_faults_directive(SV3_1aPpParser::Suppress_faults_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSigned_directive_one_line(SV3_1aPpParser::Signed_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSigned_directive(SV3_1aPpParser::Signed_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitUnsigned_directive_one_line(SV3_1aPpParser::Unsigned_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitUnsigned_directive(SV3_1aPpParser::Unsigned_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitRemove_gatename_directive_one_line(SV3_1aPpParser::Remove_gatename_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitRemove_gatename_directive(SV3_1aPpParser::Remove_gatename_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNoremove_gatenames_directive_one_line(SV3_1aPpParser::Noremove_gatenames_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNoremove_gatenames_directive(SV3_1aPpParser::Noremove_gatenames_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitRemove_netname_directive_one_line(SV3_1aPpParser::Remove_netname_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitRemove_netname_directive(SV3_1aPpParser::Remove_netname_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNoremove_netnames_directive_one_line(SV3_1aPpParser::Noremove_netnames_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNoremove_netnames_directive(SV3_1aPpParser::Noremove_netnames_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitAccelerate_directive_one_line(SV3_1aPpParser::Accelerate_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitAccelerate_directive(SV3_1aPpParser::Accelerate_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNoaccelerate_directive_one_line(SV3_1aPpParser::Noaccelerate_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNoaccelerate_directive(SV3_1aPpParser::Noaccelerate_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDefault_trireg_strenght_directive_one_line(SV3_1aPpParser::Default_trireg_strenght_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDefault_trireg_strenght_directive(SV3_1aPpParser::Default_trireg_strenght_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDefault_decay_time_directive_one_line(SV3_1aPpParser::Default_decay_time_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDefault_decay_time_directive(SV3_1aPpParser::Default_decay_time_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitUnconnected_drive_directive_one_line(SV3_1aPpParser::Unconnected_drive_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitUnconnected_drive_directive(SV3_1aPpParser::Unconnected_drive_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNounconnected_drive_directive_one_line(SV3_1aPpParser::Nounconnected_drive_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitNounconnected_drive_directive(SV3_1aPpParser::Nounconnected_drive_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDelay_mode_distributed_directive_one_line(SV3_1aPpParser::Delay_mode_distributed_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDelay_mode_distributed_directive(SV3_1aPpParser::Delay_mode_distributed_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDelay_mode_path_directive_one_line(SV3_1aPpParser::Delay_mode_path_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDelay_mode_path_directive(SV3_1aPpParser::Delay_mode_path_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDelay_mode_unit_directive_one_line(SV3_1aPpParser::Delay_mode_unit_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDelay_mode_unit_directive(SV3_1aPpParser::Delay_mode_unit_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDelay_mode_zero_directive_one_line(SV3_1aPpParser::Delay_mode_zero_directive_one_lineContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDelay_mode_zero_directive(SV3_1aPpParser::Delay_mode_zero_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitUndefineall_directive(SV3_1aPpParser::Undefineall_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitModule(SV3_1aPpParser::ModuleContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndmodule(SV3_1aPpParser::EndmoduleContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSv_interface(SV3_1aPpParser::Sv_interfaceContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndinterface(SV3_1aPpParser::EndinterfaceContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitProgram(SV3_1aPpParser::ProgramContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndprogram(SV3_1aPpParser::EndprogramContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitPrimitive(SV3_1aPpParser::PrimitiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndprimitive(SV3_1aPpParser::EndprimitiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSv_package(SV3_1aPpParser::Sv_packageContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndpackage(SV3_1aPpParser::EndpackageContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitChecker(SV3_1aPpParser::CheckerContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndchecker(SV3_1aPpParser::EndcheckerContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitConfig(SV3_1aPpParser::ConfigContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndconfig(SV3_1aPpParser::EndconfigContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDefine_directive(SV3_1aPpParser::Define_directiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitMultiline_no_args_macro_definition(SV3_1aPpParser::Multiline_no_args_macro_definitionContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitMultiline_args_macro_definition(SV3_1aPpParser::Multiline_args_macro_definitionContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSimple_no_args_macro_definition(SV3_1aPpParser::Simple_no_args_macro_definitionContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSimple_args_macro_definition(SV3_1aPpParser::Simple_args_macro_definitionContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitIdentifier_in_macro_body(SV3_1aPpParser::Identifier_in_macro_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSimple_no_args_macro_definition_in_macro_body(SV3_1aPpParser::Simple_no_args_macro_definition_in_macro_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSimple_args_macro_definition_in_macro_body(SV3_1aPpParser::Simple_args_macro_definition_in_macro_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDirective_in_macro(SV3_1aPpParser::Directive_in_macroContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitMacro_arguments(SV3_1aPpParser::Macro_argumentsContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEscaped_macro_definition_body(SV3_1aPpParser::Escaped_macro_definition_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEscaped_macro_definition_body_alt1(SV3_1aPpParser::Escaped_macro_definition_body_alt1Context *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEscaped_macro_definition_body_alt2(SV3_1aPpParser::Escaped_macro_definition_body_alt2Context *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSimple_macro_definition_body(SV3_1aPpParser::Simple_macro_definition_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSimple_macro_definition_body_in_macro_body(SV3_1aPpParser::Simple_macro_definition_body_in_macro_bodyContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitPragma_expression(SV3_1aPpParser::Pragma_expressionContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitMacro_arg(SV3_1aPpParser::Macro_argContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitPaired_parens(SV3_1aPpParser::Paired_parensContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitText_blob(SV3_1aPpParser::Text_blobContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitString(SV3_1aPpParser::StringContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEscaped_identifier(SV3_1aPpParser::Escaped_identifierContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDefault_value(SV3_1aPpParser::Default_valueContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitString_blob(SV3_1aPpParser::String_blobContext *ctx) override { + return visitChildren(ctx); + } + + +}; +
diff --git a/src/parser/SV3_1aPpParserListener.cpp b/src/parser/SV3_1aPpParserListener.cpp index a06ba3c..148c976 100644 --- a/src/parser/SV3_1aPpParserListener.cpp +++ b/src/parser/SV3_1aPpParserListener.cpp
@@ -1,5 +1,5 @@ -// Generated from SV3_1aPpParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 #include "SV3_1aPpParserListener.h"
diff --git a/src/parser/SV3_1aPpParserListener.h b/src/parser/SV3_1aPpParserListener.h index 71adbcc..3b5084a 100644 --- a/src/parser/SV3_1aPpParserListener.h +++ b/src/parser/SV3_1aPpParserListener.h
@@ -1,5 +1,5 @@ -// Generated from SV3_1aPpParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 #pragma once
diff --git a/src/parser/SV3_1aPpParserVisitor.cpp b/src/parser/SV3_1aPpParserVisitor.cpp new file mode 100644 index 0000000..baf05df --- /dev/null +++ b/src/parser/SV3_1aPpParserVisitor.cpp
@@ -0,0 +1,7 @@ + +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 + + +#include "SV3_1aPpParserVisitor.h" + +
diff --git a/src/parser/SV3_1aPpParserVisitor.h b/src/parser/SV3_1aPpParserVisitor.h new file mode 100644 index 0000000..6f39195 --- /dev/null +++ b/src/parser/SV3_1aPpParserVisitor.h
@@ -0,0 +1,310 @@ + +// Generated from /home/alain/Surelog/grammar/SV3_1aPpParser.g4 by ANTLR 4.7.2 + +#pragma once + + +#include "antlr4-runtime.h" +#include "SV3_1aPpParser.h" + + + +/** + * This class defines an abstract visitor for a parse tree + * produced by SV3_1aPpParser. + */ +class SV3_1aPpParserVisitor : public antlr4::tree::AbstractParseTreeVisitor { +public: + + /** + * Visit parse trees produced by SV3_1aPpParser. + */ + virtual antlrcpp::Any visitSource_text(SV3_1aPpParser::Source_textContext *context) = 0; + + virtual antlrcpp::Any visitDescription(SV3_1aPpParser::DescriptionContext *context) = 0; + + virtual antlrcpp::Any visitMacroInstanceWithArgs(SV3_1aPpParser::MacroInstanceWithArgsContext *context) = 0; + + virtual antlrcpp::Any visitMacroInstanceNoArgs(SV3_1aPpParser::MacroInstanceNoArgsContext *context) = 0; + + virtual antlrcpp::Any visitUnterminated_string(SV3_1aPpParser::Unterminated_stringContext *context) = 0; + + virtual antlrcpp::Any visitMacro_actual_args(SV3_1aPpParser::Macro_actual_argsContext *context) = 0; + + virtual antlrcpp::Any visitComments(SV3_1aPpParser::CommentsContext *context) = 0; + + virtual antlrcpp::Any visitNumber(SV3_1aPpParser::NumberContext *context) = 0; + + virtual antlrcpp::Any visitPound_delay(SV3_1aPpParser::Pound_delayContext *context) = 0; + + virtual antlrcpp::Any visitMacro_definition(SV3_1aPpParser::Macro_definitionContext *context) = 0; + + virtual antlrcpp::Any visitInclude_directive_one_line(SV3_1aPpParser::Include_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitInclude_directive(SV3_1aPpParser::Include_directiveContext *context) = 0; + + virtual antlrcpp::Any visitLine_directive_one_line(SV3_1aPpParser::Line_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitLine_directive(SV3_1aPpParser::Line_directiveContext *context) = 0; + + virtual antlrcpp::Any visitDefault_nettype_directive_one_line(SV3_1aPpParser::Default_nettype_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitDefault_nettype_directive(SV3_1aPpParser::Default_nettype_directiveContext *context) = 0; + + virtual antlrcpp::Any visitSv_file_directive(SV3_1aPpParser::Sv_file_directiveContext *context) = 0; + + virtual antlrcpp::Any visitSv_line_directive(SV3_1aPpParser::Sv_line_directiveContext *context) = 0; + + virtual antlrcpp::Any visitTimescale_directive_one_line(SV3_1aPpParser::Timescale_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitTimescale_directive(SV3_1aPpParser::Timescale_directiveContext *context) = 0; + + virtual antlrcpp::Any visitUndef_directive(SV3_1aPpParser::Undef_directiveContext *context) = 0; + + virtual antlrcpp::Any visitIfdef_directive_one_line(SV3_1aPpParser::Ifdef_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitIfdef_directive(SV3_1aPpParser::Ifdef_directiveContext *context) = 0; + + virtual antlrcpp::Any visitIfdef_directive_in_macro_body(SV3_1aPpParser::Ifdef_directive_in_macro_bodyContext *context) = 0; + + virtual antlrcpp::Any visitIfndef_directive_one_line(SV3_1aPpParser::Ifndef_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitIfndef_directive(SV3_1aPpParser::Ifndef_directiveContext *context) = 0; + + virtual antlrcpp::Any visitIfndef_directive_in_macro_body(SV3_1aPpParser::Ifndef_directive_in_macro_bodyContext *context) = 0; + + virtual antlrcpp::Any visitElsif_directive_one_line(SV3_1aPpParser::Elsif_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitElsif_directive(SV3_1aPpParser::Elsif_directiveContext *context) = 0; + + virtual antlrcpp::Any visitElsif_directive_in_macro_body(SV3_1aPpParser::Elsif_directive_in_macro_bodyContext *context) = 0; + + virtual antlrcpp::Any visitElseif_directive_one_line(SV3_1aPpParser::Elseif_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitElseif_directive(SV3_1aPpParser::Elseif_directiveContext *context) = 0; + + virtual antlrcpp::Any visitElseif_directive_in_macro_body(SV3_1aPpParser::Elseif_directive_in_macro_bodyContext *context) = 0; + + virtual antlrcpp::Any visitElse_directive_one_line(SV3_1aPpParser::Else_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitElse_directive(SV3_1aPpParser::Else_directiveContext *context) = 0; + + virtual antlrcpp::Any visitEndif_directive_one_line(SV3_1aPpParser::Endif_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitEndif_directive(SV3_1aPpParser::Endif_directiveContext *context) = 0; + + virtual antlrcpp::Any visitResetall_directive_one_line(SV3_1aPpParser::Resetall_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitResetall_directive(SV3_1aPpParser::Resetall_directiveContext *context) = 0; + + virtual antlrcpp::Any visitBegin_keywords_directive_one_line(SV3_1aPpParser::Begin_keywords_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitBegin_keywords_directive(SV3_1aPpParser::Begin_keywords_directiveContext *context) = 0; + + virtual antlrcpp::Any visitEnd_keywords_directive_one_line(SV3_1aPpParser::End_keywords_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitEnd_keywords_directive(SV3_1aPpParser::End_keywords_directiveContext *context) = 0; + + virtual antlrcpp::Any visitPragma_directive_one_line(SV3_1aPpParser::Pragma_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitPragma_directive(SV3_1aPpParser::Pragma_directiveContext *context) = 0; + + virtual antlrcpp::Any visitCelldefine_directive_one_line(SV3_1aPpParser::Celldefine_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitCelldefine_directive(SV3_1aPpParser::Celldefine_directiveContext *context) = 0; + + virtual antlrcpp::Any visitEndcelldefine_directive_one_line(SV3_1aPpParser::Endcelldefine_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitEndcelldefine_directive(SV3_1aPpParser::Endcelldefine_directiveContext *context) = 0; + + virtual antlrcpp::Any visitProtect_directive_one_line(SV3_1aPpParser::Protect_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitProtect_directive(SV3_1aPpParser::Protect_directiveContext *context) = 0; + + virtual antlrcpp::Any visitEndprotect_directive_one_line(SV3_1aPpParser::Endprotect_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitEndprotect_directive(SV3_1aPpParser::Endprotect_directiveContext *context) = 0; + + virtual antlrcpp::Any visitProtected_directive_one_line(SV3_1aPpParser::Protected_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitProtected_directive(SV3_1aPpParser::Protected_directiveContext *context) = 0; + + virtual antlrcpp::Any visitEndprotected_directive_one_line(SV3_1aPpParser::Endprotected_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitEndprotected_directive(SV3_1aPpParser::Endprotected_directiveContext *context) = 0; + + virtual antlrcpp::Any visitExpand_vectornets_directive_one_line(SV3_1aPpParser::Expand_vectornets_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitExpand_vectornets_directive(SV3_1aPpParser::Expand_vectornets_directiveContext *context) = 0; + + virtual antlrcpp::Any visitNoexpand_vectornets_directive_one_line(SV3_1aPpParser::Noexpand_vectornets_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitNoexpand_vectornets_directive(SV3_1aPpParser::Noexpand_vectornets_directiveContext *context) = 0; + + virtual antlrcpp::Any visitAutoexpand_vectornets_directive_one_line(SV3_1aPpParser::Autoexpand_vectornets_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitAutoexpand_vectornets_directive(SV3_1aPpParser::Autoexpand_vectornets_directiveContext *context) = 0; + + virtual antlrcpp::Any visitUselib_directive_one_line(SV3_1aPpParser::Uselib_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitUselib_directive(SV3_1aPpParser::Uselib_directiveContext *context) = 0; + + virtual antlrcpp::Any visitDisable_portfaults_directive_one_line(SV3_1aPpParser::Disable_portfaults_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitDisable_portfaults_directive(SV3_1aPpParser::Disable_portfaults_directiveContext *context) = 0; + + virtual antlrcpp::Any visitEnable_portfaults_directive_one_line(SV3_1aPpParser::Enable_portfaults_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitEnable_portfaults_directive(SV3_1aPpParser::Enable_portfaults_directiveContext *context) = 0; + + virtual antlrcpp::Any visitNosuppress_faults_directive_one_line(SV3_1aPpParser::Nosuppress_faults_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitNosuppress_faults_directive(SV3_1aPpParser::Nosuppress_faults_directiveContext *context) = 0; + + virtual antlrcpp::Any visitSuppress_faults_directive_one_line(SV3_1aPpParser::Suppress_faults_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitSuppress_faults_directive(SV3_1aPpParser::Suppress_faults_directiveContext *context) = 0; + + virtual antlrcpp::Any visitSigned_directive_one_line(SV3_1aPpParser::Signed_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitSigned_directive(SV3_1aPpParser::Signed_directiveContext *context) = 0; + + virtual antlrcpp::Any visitUnsigned_directive_one_line(SV3_1aPpParser::Unsigned_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitUnsigned_directive(SV3_1aPpParser::Unsigned_directiveContext *context) = 0; + + virtual antlrcpp::Any visitRemove_gatename_directive_one_line(SV3_1aPpParser::Remove_gatename_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitRemove_gatename_directive(SV3_1aPpParser::Remove_gatename_directiveContext *context) = 0; + + virtual antlrcpp::Any visitNoremove_gatenames_directive_one_line(SV3_1aPpParser::Noremove_gatenames_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitNoremove_gatenames_directive(SV3_1aPpParser::Noremove_gatenames_directiveContext *context) = 0; + + virtual antlrcpp::Any visitRemove_netname_directive_one_line(SV3_1aPpParser::Remove_netname_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitRemove_netname_directive(SV3_1aPpParser::Remove_netname_directiveContext *context) = 0; + + virtual antlrcpp::Any visitNoremove_netnames_directive_one_line(SV3_1aPpParser::Noremove_netnames_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitNoremove_netnames_directive(SV3_1aPpParser::Noremove_netnames_directiveContext *context) = 0; + + virtual antlrcpp::Any visitAccelerate_directive_one_line(SV3_1aPpParser::Accelerate_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitAccelerate_directive(SV3_1aPpParser::Accelerate_directiveContext *context) = 0; + + virtual antlrcpp::Any visitNoaccelerate_directive_one_line(SV3_1aPpParser::Noaccelerate_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitNoaccelerate_directive(SV3_1aPpParser::Noaccelerate_directiveContext *context) = 0; + + virtual antlrcpp::Any visitDefault_trireg_strenght_directive_one_line(SV3_1aPpParser::Default_trireg_strenght_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitDefault_trireg_strenght_directive(SV3_1aPpParser::Default_trireg_strenght_directiveContext *context) = 0; + + virtual antlrcpp::Any visitDefault_decay_time_directive_one_line(SV3_1aPpParser::Default_decay_time_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitDefault_decay_time_directive(SV3_1aPpParser::Default_decay_time_directiveContext *context) = 0; + + virtual antlrcpp::Any visitUnconnected_drive_directive_one_line(SV3_1aPpParser::Unconnected_drive_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitUnconnected_drive_directive(SV3_1aPpParser::Unconnected_drive_directiveContext *context) = 0; + + virtual antlrcpp::Any visitNounconnected_drive_directive_one_line(SV3_1aPpParser::Nounconnected_drive_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitNounconnected_drive_directive(SV3_1aPpParser::Nounconnected_drive_directiveContext *context) = 0; + + virtual antlrcpp::Any visitDelay_mode_distributed_directive_one_line(SV3_1aPpParser::Delay_mode_distributed_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitDelay_mode_distributed_directive(SV3_1aPpParser::Delay_mode_distributed_directiveContext *context) = 0; + + virtual antlrcpp::Any visitDelay_mode_path_directive_one_line(SV3_1aPpParser::Delay_mode_path_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitDelay_mode_path_directive(SV3_1aPpParser::Delay_mode_path_directiveContext *context) = 0; + + virtual antlrcpp::Any visitDelay_mode_unit_directive_one_line(SV3_1aPpParser::Delay_mode_unit_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitDelay_mode_unit_directive(SV3_1aPpParser::Delay_mode_unit_directiveContext *context) = 0; + + virtual antlrcpp::Any visitDelay_mode_zero_directive_one_line(SV3_1aPpParser::Delay_mode_zero_directive_one_lineContext *context) = 0; + + virtual antlrcpp::Any visitDelay_mode_zero_directive(SV3_1aPpParser::Delay_mode_zero_directiveContext *context) = 0; + + virtual antlrcpp::Any visitUndefineall_directive(SV3_1aPpParser::Undefineall_directiveContext *context) = 0; + + virtual antlrcpp::Any visitModule(SV3_1aPpParser::ModuleContext *context) = 0; + + virtual antlrcpp::Any visitEndmodule(SV3_1aPpParser::EndmoduleContext *context) = 0; + + virtual antlrcpp::Any visitSv_interface(SV3_1aPpParser::Sv_interfaceContext *context) = 0; + + virtual antlrcpp::Any visitEndinterface(SV3_1aPpParser::EndinterfaceContext *context) = 0; + + virtual antlrcpp::Any visitProgram(SV3_1aPpParser::ProgramContext *context) = 0; + + virtual antlrcpp::Any visitEndprogram(SV3_1aPpParser::EndprogramContext *context) = 0; + + virtual antlrcpp::Any visitPrimitive(SV3_1aPpParser::PrimitiveContext *context) = 0; + + virtual antlrcpp::Any visitEndprimitive(SV3_1aPpParser::EndprimitiveContext *context) = 0; + + virtual antlrcpp::Any visitSv_package(SV3_1aPpParser::Sv_packageContext *context) = 0; + + virtual antlrcpp::Any visitEndpackage(SV3_1aPpParser::EndpackageContext *context) = 0; + + virtual antlrcpp::Any visitChecker(SV3_1aPpParser::CheckerContext *context) = 0; + + virtual antlrcpp::Any visitEndchecker(SV3_1aPpParser::EndcheckerContext *context) = 0; + + virtual antlrcpp::Any visitConfig(SV3_1aPpParser::ConfigContext *context) = 0; + + virtual antlrcpp::Any visitEndconfig(SV3_1aPpParser::EndconfigContext *context) = 0; + + virtual antlrcpp::Any visitDefine_directive(SV3_1aPpParser::Define_directiveContext *context) = 0; + + virtual antlrcpp::Any visitMultiline_no_args_macro_definition(SV3_1aPpParser::Multiline_no_args_macro_definitionContext *context) = 0; + + virtual antlrcpp::Any visitMultiline_args_macro_definition(SV3_1aPpParser::Multiline_args_macro_definitionContext *context) = 0; + + virtual antlrcpp::Any visitSimple_no_args_macro_definition(SV3_1aPpParser::Simple_no_args_macro_definitionContext *context) = 0; + + virtual antlrcpp::Any visitSimple_args_macro_definition(SV3_1aPpParser::Simple_args_macro_definitionContext *context) = 0; + + virtual antlrcpp::Any visitIdentifier_in_macro_body(SV3_1aPpParser::Identifier_in_macro_bodyContext *context) = 0; + + virtual antlrcpp::Any visitSimple_no_args_macro_definition_in_macro_body(SV3_1aPpParser::Simple_no_args_macro_definition_in_macro_bodyContext *context) = 0; + + virtual antlrcpp::Any visitSimple_args_macro_definition_in_macro_body(SV3_1aPpParser::Simple_args_macro_definition_in_macro_bodyContext *context) = 0; + + virtual antlrcpp::Any visitDirective_in_macro(SV3_1aPpParser::Directive_in_macroContext *context) = 0; + + virtual antlrcpp::Any visitMacro_arguments(SV3_1aPpParser::Macro_argumentsContext *context) = 0; + + virtual antlrcpp::Any visitEscaped_macro_definition_body(SV3_1aPpParser::Escaped_macro_definition_bodyContext *context) = 0; + + virtual antlrcpp::Any visitEscaped_macro_definition_body_alt1(SV3_1aPpParser::Escaped_macro_definition_body_alt1Context *context) = 0; + + virtual antlrcpp::Any visitEscaped_macro_definition_body_alt2(SV3_1aPpParser::Escaped_macro_definition_body_alt2Context *context) = 0; + + virtual antlrcpp::Any visitSimple_macro_definition_body(SV3_1aPpParser::Simple_macro_definition_bodyContext *context) = 0; + + virtual antlrcpp::Any visitSimple_macro_definition_body_in_macro_body(SV3_1aPpParser::Simple_macro_definition_body_in_macro_bodyContext *context) = 0; + + virtual antlrcpp::Any visitPragma_expression(SV3_1aPpParser::Pragma_expressionContext *context) = 0; + + virtual antlrcpp::Any visitMacro_arg(SV3_1aPpParser::Macro_argContext *context) = 0; + + virtual antlrcpp::Any visitPaired_parens(SV3_1aPpParser::Paired_parensContext *context) = 0; + + virtual antlrcpp::Any visitText_blob(SV3_1aPpParser::Text_blobContext *context) = 0; + + virtual antlrcpp::Any visitString(SV3_1aPpParser::StringContext *context) = 0; + + virtual antlrcpp::Any visitEscaped_identifier(SV3_1aPpParser::Escaped_identifierContext *context) = 0; + + virtual antlrcpp::Any visitDefault_value(SV3_1aPpParser::Default_valueContext *context) = 0; + + virtual antlrcpp::Any visitString_blob(SV3_1aPpParser::String_blobContext *context) = 0; + + +}; +
diff --git a/src/parser/SV3_1aSplitterLexer.cpp b/src/parser/SV3_1aSplitterLexer.cpp index 86b66b5..133a600 100644 --- a/src/parser/SV3_1aSplitterLexer.cpp +++ b/src/parser/SV3_1aSplitterLexer.cpp
@@ -1,5 +1,5 @@ -// Generated from SV3_1aSplitterLexer.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterLexer.g4 by ANTLR 4.7.2 #include "SV3_1aSplitterLexer.h"
diff --git a/src/parser/SV3_1aSplitterLexer.h b/src/parser/SV3_1aSplitterLexer.h index a078f01..badb5f8 100644 --- a/src/parser/SV3_1aSplitterLexer.h +++ b/src/parser/SV3_1aSplitterLexer.h
@@ -1,5 +1,5 @@ -// Generated from SV3_1aSplitterLexer.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterLexer.g4 by ANTLR 4.7.2 #pragma once
diff --git a/src/parser/SV3_1aSplitterLexer.interp b/src/parser/SV3_1aSplitterLexer.interp new file mode 100644 index 0000000..13c86d0 --- /dev/null +++ b/src/parser/SV3_1aSplitterLexer.interp
@@ -0,0 +1,80 @@ +token literal names: +null +null +null +'module' +'endmodule' +'interface' +'endinterface' +'program' +'endprogram' +'primivite' +'endprimitive' +'package' +'endpackage' +'checker' +'endchecker' +'config' +'endconfig' +null +null +null +null + +token symbolic names: +null +One_line_comment +Block_comment +MODULE +ENDMODULE +INTERFACE +ENDINTERFACE +PROGRAM +ENDPROGRAM +PRIMITIVE +ENDPRIMITIVE +PACKAGE +ENDPACKAGE +CHECKER +ENDCHECKER +CONFIG +ENDCONFIG +String +Spaces +CR +ANY + +rule names: +One_line_comment +Block_comment +Comment_text +MODULE +ENDMODULE +INTERFACE +ENDINTERFACE +PROGRAM +ENDPROGRAM +PRIMITIVE +ENDPRIMITIVE +PACKAGE +ENDPACKAGE +CHECKER +ENDCHECKER +CONFIG +ENDCONFIG +String +Spaces +WS +TAB +CR +ANY + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 22, 249, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 55, 10, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 7, 4, 69, 10, 4, 12, 4, 14, 4, 72, 11, 4, 3, 4, 7, 4, 75, 10, 4, 12, 4, 14, 4, 78, 11, 4, 5, 4, 80, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 7, 19, 223, 10, 19, 12, 19, 14, 19, 226, 11, 19, 3, 19, 3, 19, 3, 20, 3, 20, 6, 20, 232, 10, 20, 13, 20, 14, 20, 233, 3, 21, 6, 21, 237, 10, 21, 13, 21, 14, 21, 238, 3, 22, 6, 22, 242, 10, 22, 13, 22, 14, 22, 243, 3, 23, 3, 23, 3, 24, 3, 24, 3, 76, 2, 25, 3, 3, 5, 4, 7, 2, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 2, 43, 2, 45, 21, 47, 22, 3, 2, 7, 3, 2, 15, 15, 6, 2, 12, 12, 15, 15, 36, 36, 94, 94, 3, 2, 34, 34, 3, 2, 11, 11, 4, 2, 12, 12, 15, 15, 2, 257, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 3, 49, 3, 2, 2, 2, 5, 58, 3, 2, 2, 2, 7, 79, 3, 2, 2, 2, 9, 81, 3, 2, 2, 2, 11, 88, 3, 2, 2, 2, 13, 98, 3, 2, 2, 2, 15, 108, 3, 2, 2, 2, 17, 121, 3, 2, 2, 2, 19, 129, 3, 2, 2, 2, 21, 140, 3, 2, 2, 2, 23, 150, 3, 2, 2, 2, 25, 163, 3, 2, 2, 2, 27, 171, 3, 2, 2, 2, 29, 182, 3, 2, 2, 2, 31, 190, 3, 2, 2, 2, 33, 201, 3, 2, 2, 2, 35, 208, 3, 2, 2, 2, 37, 218, 3, 2, 2, 2, 39, 231, 3, 2, 2, 2, 41, 236, 3, 2, 2, 2, 43, 241, 3, 2, 2, 2, 45, 245, 3, 2, 2, 2, 47, 247, 3, 2, 2, 2, 49, 50, 7, 49, 2, 2, 50, 51, 7, 49, 2, 2, 51, 52, 3, 2, 2, 2, 52, 54, 5, 7, 4, 2, 53, 55, 7, 15, 2, 2, 54, 53, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 57, 7, 12, 2, 2, 57, 4, 3, 2, 2, 2, 58, 59, 7, 49, 2, 2, 59, 60, 7, 44, 2, 2, 60, 61, 3, 2, 2, 2, 61, 62, 5, 7, 4, 2, 62, 63, 7, 44, 2, 2, 63, 64, 7, 49, 2, 2, 64, 6, 3, 2, 2, 2, 65, 69, 5, 41, 21, 2, 66, 69, 5, 45, 23, 2, 67, 69, 5, 43, 22, 2, 68, 65, 3, 2, 2, 2, 68, 66, 3, 2, 2, 2, 68, 67, 3, 2, 2, 2, 69, 72, 3, 2, 2, 2, 70, 68, 3, 2, 2, 2, 70, 71, 3, 2, 2, 2, 71, 80, 3, 2, 2, 2, 72, 70, 3, 2, 2, 2, 73, 75, 11, 2, 2, 2, 74, 73, 3, 2, 2, 2, 75, 78, 3, 2, 2, 2, 76, 77, 3, 2, 2, 2, 76, 74, 3, 2, 2, 2, 77, 80, 3, 2, 2, 2, 78, 76, 3, 2, 2, 2, 79, 70, 3, 2, 2, 2, 79, 76, 3, 2, 2, 2, 80, 8, 3, 2, 2, 2, 81, 82, 7, 111, 2, 2, 82, 83, 7, 113, 2, 2, 83, 84, 7, 102, 2, 2, 84, 85, 7, 119, 2, 2, 85, 86, 7, 110, 2, 2, 86, 87, 7, 103, 2, 2, 87, 10, 3, 2, 2, 2, 88, 89, 7, 103, 2, 2, 89, 90, 7, 112, 2, 2, 90, 91, 7, 102, 2, 2, 91, 92, 7, 111, 2, 2, 92, 93, 7, 113, 2, 2, 93, 94, 7, 102, 2, 2, 94, 95, 7, 119, 2, 2, 95, 96, 7, 110, 2, 2, 96, 97, 7, 103, 2, 2, 97, 12, 3, 2, 2, 2, 98, 99, 7, 107, 2, 2, 99, 100, 7, 112, 2, 2, 100, 101, 7, 118, 2, 2, 101, 102, 7, 103, 2, 2, 102, 103, 7, 116, 2, 2, 103, 104, 7, 104, 2, 2, 104, 105, 7, 99, 2, 2, 105, 106, 7, 101, 2, 2, 106, 107, 7, 103, 2, 2, 107, 14, 3, 2, 2, 2, 108, 109, 7, 103, 2, 2, 109, 110, 7, 112, 2, 2, 110, 111, 7, 102, 2, 2, 111, 112, 7, 107, 2, 2, 112, 113, 7, 112, 2, 2, 113, 114, 7, 118, 2, 2, 114, 115, 7, 103, 2, 2, 115, 116, 7, 116, 2, 2, 116, 117, 7, 104, 2, 2, 117, 118, 7, 99, 2, 2, 118, 119, 7, 101, 2, 2, 119, 120, 7, 103, 2, 2, 120, 16, 3, 2, 2, 2, 121, 122, 7, 114, 2, 2, 122, 123, 7, 116, 2, 2, 123, 124, 7, 113, 2, 2, 124, 125, 7, 105, 2, 2, 125, 126, 7, 116, 2, 2, 126, 127, 7, 99, 2, 2, 127, 128, 7, 111, 2, 2, 128, 18, 3, 2, 2, 2, 129, 130, 7, 103, 2, 2, 130, 131, 7, 112, 2, 2, 131, 132, 7, 102, 2, 2, 132, 133, 7, 114, 2, 2, 133, 134, 7, 116, 2, 2, 134, 135, 7, 113, 2, 2, 135, 136, 7, 105, 2, 2, 136, 137, 7, 116, 2, 2, 137, 138, 7, 99, 2, 2, 138, 139, 7, 111, 2, 2, 139, 20, 3, 2, 2, 2, 140, 141, 7, 114, 2, 2, 141, 142, 7, 116, 2, 2, 142, 143, 7, 107, 2, 2, 143, 144, 7, 111, 2, 2, 144, 145, 7, 107, 2, 2, 145, 146, 7, 120, 2, 2, 146, 147, 7, 107, 2, 2, 147, 148, 7, 118, 2, 2, 148, 149, 7, 103, 2, 2, 149, 22, 3, 2, 2, 2, 150, 151, 7, 103, 2, 2, 151, 152, 7, 112, 2, 2, 152, 153, 7, 102, 2, 2, 153, 154, 7, 114, 2, 2, 154, 155, 7, 116, 2, 2, 155, 156, 7, 107, 2, 2, 156, 157, 7, 111, 2, 2, 157, 158, 7, 107, 2, 2, 158, 159, 7, 118, 2, 2, 159, 160, 7, 107, 2, 2, 160, 161, 7, 120, 2, 2, 161, 162, 7, 103, 2, 2, 162, 24, 3, 2, 2, 2, 163, 164, 7, 114, 2, 2, 164, 165, 7, 99, 2, 2, 165, 166, 7, 101, 2, 2, 166, 167, 7, 109, 2, 2, 167, 168, 7, 99, 2, 2, 168, 169, 7, 105, 2, 2, 169, 170, 7, 103, 2, 2, 170, 26, 3, 2, 2, 2, 171, 172, 7, 103, 2, 2, 172, 173, 7, 112, 2, 2, 173, 174, 7, 102, 2, 2, 174, 175, 7, 114, 2, 2, 175, 176, 7, 99, 2, 2, 176, 177, 7, 101, 2, 2, 177, 178, 7, 109, 2, 2, 178, 179, 7, 99, 2, 2, 179, 180, 7, 105, 2, 2, 180, 181, 7, 103, 2, 2, 181, 28, 3, 2, 2, 2, 182, 183, 7, 101, 2, 2, 183, 184, 7, 106, 2, 2, 184, 185, 7, 103, 2, 2, 185, 186, 7, 101, 2, 2, 186, 187, 7, 109, 2, 2, 187, 188, 7, 103, 2, 2, 188, 189, 7, 116, 2, 2, 189, 30, 3, 2, 2, 2, 190, 191, 7, 103, 2, 2, 191, 192, 7, 112, 2, 2, 192, 193, 7, 102, 2, 2, 193, 194, 7, 101, 2, 2, 194, 195, 7, 106, 2, 2, 195, 196, 7, 103, 2, 2, 196, 197, 7, 101, 2, 2, 197, 198, 7, 109, 2, 2, 198, 199, 7, 103, 2, 2, 199, 200, 7, 116, 2, 2, 200, 32, 3, 2, 2, 2, 201, 202, 7, 101, 2, 2, 202, 203, 7, 113, 2, 2, 203, 204, 7, 112, 2, 2, 204, 205, 7, 104, 2, 2, 205, 206, 7, 107, 2, 2, 206, 207, 7, 105, 2, 2, 207, 34, 3, 2, 2, 2, 208, 209, 7, 103, 2, 2, 209, 210, 7, 112, 2, 2, 210, 211, 7, 102, 2, 2, 211, 212, 7, 101, 2, 2, 212, 213, 7, 113, 2, 2, 213, 214, 7, 112, 2, 2, 214, 215, 7, 104, 2, 2, 215, 216, 7, 107, 2, 2, 216, 217, 7, 105, 2, 2, 217, 36, 3, 2, 2, 2, 218, 224, 7, 36, 2, 2, 219, 220, 7, 94, 2, 2, 220, 223, 10, 2, 2, 2, 221, 223, 10, 3, 2, 2, 222, 219, 3, 2, 2, 2, 222, 221, 3, 2, 2, 2, 223, 226, 3, 2, 2, 2, 224, 222, 3, 2, 2, 2, 224, 225, 3, 2, 2, 2, 225, 227, 3, 2, 2, 2, 226, 224, 3, 2, 2, 2, 227, 228, 7, 36, 2, 2, 228, 38, 3, 2, 2, 2, 229, 232, 5, 41, 21, 2, 230, 232, 5, 43, 22, 2, 231, 229, 3, 2, 2, 2, 231, 230, 3, 2, 2, 2, 232, 233, 3, 2, 2, 2, 233, 231, 3, 2, 2, 2, 233, 234, 3, 2, 2, 2, 234, 40, 3, 2, 2, 2, 235, 237, 9, 4, 2, 2, 236, 235, 3, 2, 2, 2, 237, 238, 3, 2, 2, 2, 238, 236, 3, 2, 2, 2, 238, 239, 3, 2, 2, 2, 239, 42, 3, 2, 2, 2, 240, 242, 9, 5, 2, 2, 241, 240, 3, 2, 2, 2, 242, 243, 3, 2, 2, 2, 243, 241, 3, 2, 2, 2, 243, 244, 3, 2, 2, 2, 244, 44, 3, 2, 2, 2, 245, 246, 9, 6, 2, 2, 246, 46, 3, 2, 2, 2, 247, 248, 11, 2, 2, 2, 248, 48, 3, 2, 2, 2, 14, 2, 54, 68, 70, 76, 79, 222, 224, 231, 233, 238, 243, 2] \ No newline at end of file
diff --git a/src/parser/SV3_1aSplitterParser.cpp b/src/parser/SV3_1aSplitterParser.cpp index 0d940e8..a4e159d 100644 --- a/src/parser/SV3_1aSplitterParser.cpp +++ b/src/parser/SV3_1aSplitterParser.cpp
@@ -1,8 +1,9 @@ -// Generated from SV3_1aSplitterParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 #include "SV3_1aSplitterParserListener.h" +#include "SV3_1aSplitterParserVisitor.h" #include "SV3_1aSplitterParser.h" @@ -62,6 +63,14 @@ parserListener->exitSource_text(this); } + +antlrcpp::Any SV3_1aSplitterParser::Source_textContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitSource_text(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::Source_textContext* SV3_1aSplitterParser::source_text() { Source_textContext *_localctx = _tracker.createInstance<Source_textContext>(_ctx, getState()); enterRule(_localctx, 0, SV3_1aSplitterParser::RuleSource_text); @@ -191,6 +200,14 @@ parserListener->exitDescription(this); } + +antlrcpp::Any SV3_1aSplitterParser::DescriptionContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitDescription(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::DescriptionContext* SV3_1aSplitterParser::description() { DescriptionContext *_localctx = _tracker.createInstance<DescriptionContext>(_ctx, getState()); enterRule(_localctx, 2, SV3_1aSplitterParser::RuleDescription); @@ -348,6 +365,14 @@ parserListener->exitModule(this); } + +antlrcpp::Any SV3_1aSplitterParser::ModuleContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitModule(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::ModuleContext* SV3_1aSplitterParser::module() { ModuleContext *_localctx = _tracker.createInstance<ModuleContext>(_ctx, getState()); enterRule(_localctx, 4, SV3_1aSplitterParser::RuleModule); @@ -397,6 +422,14 @@ parserListener->exitEndmodule(this); } + +antlrcpp::Any SV3_1aSplitterParser::EndmoduleContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitEndmodule(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::EndmoduleContext* SV3_1aSplitterParser::endmodule() { EndmoduleContext *_localctx = _tracker.createInstance<EndmoduleContext>(_ctx, getState()); enterRule(_localctx, 6, SV3_1aSplitterParser::RuleEndmodule); @@ -446,6 +479,14 @@ parserListener->exitSv_interface(this); } + +antlrcpp::Any SV3_1aSplitterParser::Sv_interfaceContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitSv_interface(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::Sv_interfaceContext* SV3_1aSplitterParser::sv_interface() { Sv_interfaceContext *_localctx = _tracker.createInstance<Sv_interfaceContext>(_ctx, getState()); enterRule(_localctx, 8, SV3_1aSplitterParser::RuleSv_interface); @@ -495,6 +536,14 @@ parserListener->exitEndinterface(this); } + +antlrcpp::Any SV3_1aSplitterParser::EndinterfaceContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitEndinterface(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::EndinterfaceContext* SV3_1aSplitterParser::endinterface() { EndinterfaceContext *_localctx = _tracker.createInstance<EndinterfaceContext>(_ctx, getState()); enterRule(_localctx, 10, SV3_1aSplitterParser::RuleEndinterface); @@ -544,6 +593,14 @@ parserListener->exitProgram(this); } + +antlrcpp::Any SV3_1aSplitterParser::ProgramContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitProgram(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::ProgramContext* SV3_1aSplitterParser::program() { ProgramContext *_localctx = _tracker.createInstance<ProgramContext>(_ctx, getState()); enterRule(_localctx, 12, SV3_1aSplitterParser::RuleProgram); @@ -593,6 +650,14 @@ parserListener->exitEndprogram(this); } + +antlrcpp::Any SV3_1aSplitterParser::EndprogramContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitEndprogram(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::EndprogramContext* SV3_1aSplitterParser::endprogram() { EndprogramContext *_localctx = _tracker.createInstance<EndprogramContext>(_ctx, getState()); enterRule(_localctx, 14, SV3_1aSplitterParser::RuleEndprogram); @@ -642,6 +707,14 @@ parserListener->exitPrimitive(this); } + +antlrcpp::Any SV3_1aSplitterParser::PrimitiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitPrimitive(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::PrimitiveContext* SV3_1aSplitterParser::primitive() { PrimitiveContext *_localctx = _tracker.createInstance<PrimitiveContext>(_ctx, getState()); enterRule(_localctx, 16, SV3_1aSplitterParser::RulePrimitive); @@ -691,6 +764,14 @@ parserListener->exitEndprimitive(this); } + +antlrcpp::Any SV3_1aSplitterParser::EndprimitiveContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitEndprimitive(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::EndprimitiveContext* SV3_1aSplitterParser::endprimitive() { EndprimitiveContext *_localctx = _tracker.createInstance<EndprimitiveContext>(_ctx, getState()); enterRule(_localctx, 18, SV3_1aSplitterParser::RuleEndprimitive); @@ -740,6 +821,14 @@ parserListener->exitSv_package(this); } + +antlrcpp::Any SV3_1aSplitterParser::Sv_packageContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitSv_package(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::Sv_packageContext* SV3_1aSplitterParser::sv_package() { Sv_packageContext *_localctx = _tracker.createInstance<Sv_packageContext>(_ctx, getState()); enterRule(_localctx, 20, SV3_1aSplitterParser::RuleSv_package); @@ -789,6 +878,14 @@ parserListener->exitEndpackage(this); } + +antlrcpp::Any SV3_1aSplitterParser::EndpackageContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitEndpackage(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::EndpackageContext* SV3_1aSplitterParser::endpackage() { EndpackageContext *_localctx = _tracker.createInstance<EndpackageContext>(_ctx, getState()); enterRule(_localctx, 22, SV3_1aSplitterParser::RuleEndpackage); @@ -838,6 +935,14 @@ parserListener->exitChecker(this); } + +antlrcpp::Any SV3_1aSplitterParser::CheckerContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitChecker(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::CheckerContext* SV3_1aSplitterParser::checker() { CheckerContext *_localctx = _tracker.createInstance<CheckerContext>(_ctx, getState()); enterRule(_localctx, 24, SV3_1aSplitterParser::RuleChecker); @@ -887,6 +992,14 @@ parserListener->exitEndchecker(this); } + +antlrcpp::Any SV3_1aSplitterParser::EndcheckerContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitEndchecker(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::EndcheckerContext* SV3_1aSplitterParser::endchecker() { EndcheckerContext *_localctx = _tracker.createInstance<EndcheckerContext>(_ctx, getState()); enterRule(_localctx, 26, SV3_1aSplitterParser::RuleEndchecker); @@ -936,6 +1049,14 @@ parserListener->exitConfig(this); } + +antlrcpp::Any SV3_1aSplitterParser::ConfigContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitConfig(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::ConfigContext* SV3_1aSplitterParser::config() { ConfigContext *_localctx = _tracker.createInstance<ConfigContext>(_ctx, getState()); enterRule(_localctx, 28, SV3_1aSplitterParser::RuleConfig); @@ -985,6 +1106,14 @@ parserListener->exitEndconfig(this); } + +antlrcpp::Any SV3_1aSplitterParser::EndconfigContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitEndconfig(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::EndconfigContext* SV3_1aSplitterParser::endconfig() { EndconfigContext *_localctx = _tracker.createInstance<EndconfigContext>(_ctx, getState()); enterRule(_localctx, 30, SV3_1aSplitterParser::RuleEndconfig); @@ -1034,6 +1163,14 @@ parserListener->exitAny(this); } + +antlrcpp::Any SV3_1aSplitterParser::AnyContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast<SV3_1aSplitterParserVisitor*>(visitor)) + return parserVisitor->visitAny(this); + else + return visitor->visitChildren(this); +} + SV3_1aSplitterParser::AnyContext* SV3_1aSplitterParser::any() { AnyContext *_localctx = _tracker.createInstance<AnyContext>(_ctx, getState()); enterRule(_localctx, 32, SV3_1aSplitterParser::RuleAny);
diff --git a/src/parser/SV3_1aSplitterParser.h b/src/parser/SV3_1aSplitterParser.h index 63b278a..b879dd2 100644 --- a/src/parser/SV3_1aSplitterParser.h +++ b/src/parser/SV3_1aSplitterParser.h
@@ -1,5 +1,5 @@ -// Generated from SV3_1aSplitterParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 #pragma once @@ -63,6 +63,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -90,6 +92,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -103,6 +107,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -116,6 +122,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -129,6 +137,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -142,6 +152,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -155,6 +167,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -168,6 +182,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -181,6 +197,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -194,6 +212,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -207,6 +227,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -220,6 +242,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -233,6 +257,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -246,6 +272,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -259,6 +287,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -272,6 +302,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; }; @@ -285,6 +317,8 @@ virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override; };
diff --git a/src/parser/SV3_1aSplitterParser.interp b/src/parser/SV3_1aSplitterParser.interp new file mode 100644 index 0000000..4253b16 --- /dev/null +++ b/src/parser/SV3_1aSplitterParser.interp
@@ -0,0 +1,68 @@ +token literal names: +null +null +null +'module' +'endmodule' +'interface' +'endinterface' +'program' +'endprogram' +'primivite' +'endprimitive' +'package' +'endpackage' +'checker' +'endchecker' +'config' +'endconfig' +null +null +null +null + +token symbolic names: +null +One_line_comment +Block_comment +MODULE +ENDMODULE +INTERFACE +ENDINTERFACE +PROGRAM +ENDPROGRAM +PRIMITIVE +ENDPRIMITIVE +PACKAGE +ENDPACKAGE +CHECKER +ENDCHECKER +CONFIG +ENDCONFIG +String +Spaces +CR +ANY + +rule names: +source_text +description +module +endmodule +sv_interface +endinterface +program +endprogram +primitive +endprimitive +sv_package +endpackage +checker +endchecker +config +endconfig +any + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 22, 90, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 3, 2, 7, 2, 38, 10, 2, 12, 2, 14, 2, 41, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 58, 10, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 2, 2, 19, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 2, 2, 2, 87, 2, 39, 3, 2, 2, 2, 4, 57, 3, 2, 2, 2, 6, 59, 3, 2, 2, 2, 8, 61, 3, 2, 2, 2, 10, 63, 3, 2, 2, 2, 12, 65, 3, 2, 2, 2, 14, 67, 3, 2, 2, 2, 16, 69, 3, 2, 2, 2, 18, 71, 3, 2, 2, 2, 20, 73, 3, 2, 2, 2, 22, 75, 3, 2, 2, 2, 24, 77, 3, 2, 2, 2, 26, 79, 3, 2, 2, 2, 28, 81, 3, 2, 2, 2, 30, 83, 3, 2, 2, 2, 32, 85, 3, 2, 2, 2, 34, 87, 3, 2, 2, 2, 36, 38, 5, 4, 3, 2, 37, 36, 3, 2, 2, 2, 38, 41, 3, 2, 2, 2, 39, 37, 3, 2, 2, 2, 39, 40, 3, 2, 2, 2, 40, 3, 3, 2, 2, 2, 41, 39, 3, 2, 2, 2, 42, 58, 5, 6, 4, 2, 43, 58, 5, 8, 5, 2, 44, 58, 5, 10, 6, 2, 45, 58, 5, 12, 7, 2, 46, 58, 5, 14, 8, 2, 47, 58, 5, 16, 9, 2, 48, 58, 5, 18, 10, 2, 49, 58, 5, 20, 11, 2, 50, 58, 5, 22, 12, 2, 51, 58, 5, 24, 13, 2, 52, 58, 5, 26, 14, 2, 53, 58, 5, 28, 15, 2, 54, 58, 5, 30, 16, 2, 55, 58, 5, 32, 17, 2, 56, 58, 7, 22, 2, 2, 57, 42, 3, 2, 2, 2, 57, 43, 3, 2, 2, 2, 57, 44, 3, 2, 2, 2, 57, 45, 3, 2, 2, 2, 57, 46, 3, 2, 2, 2, 57, 47, 3, 2, 2, 2, 57, 48, 3, 2, 2, 2, 57, 49, 3, 2, 2, 2, 57, 50, 3, 2, 2, 2, 57, 51, 3, 2, 2, 2, 57, 52, 3, 2, 2, 2, 57, 53, 3, 2, 2, 2, 57, 54, 3, 2, 2, 2, 57, 55, 3, 2, 2, 2, 57, 56, 3, 2, 2, 2, 58, 5, 3, 2, 2, 2, 59, 60, 7, 5, 2, 2, 60, 7, 3, 2, 2, 2, 61, 62, 7, 6, 2, 2, 62, 9, 3, 2, 2, 2, 63, 64, 7, 7, 2, 2, 64, 11, 3, 2, 2, 2, 65, 66, 7, 8, 2, 2, 66, 13, 3, 2, 2, 2, 67, 68, 7, 9, 2, 2, 68, 15, 3, 2, 2, 2, 69, 70, 7, 10, 2, 2, 70, 17, 3, 2, 2, 2, 71, 72, 7, 11, 2, 2, 72, 19, 3, 2, 2, 2, 73, 74, 7, 12, 2, 2, 74, 21, 3, 2, 2, 2, 75, 76, 7, 13, 2, 2, 76, 23, 3, 2, 2, 2, 77, 78, 7, 14, 2, 2, 78, 25, 3, 2, 2, 2, 79, 80, 7, 15, 2, 2, 80, 27, 3, 2, 2, 2, 81, 82, 7, 16, 2, 2, 82, 29, 3, 2, 2, 2, 83, 84, 7, 17, 2, 2, 84, 31, 3, 2, 2, 2, 85, 86, 7, 18, 2, 2, 86, 33, 3, 2, 2, 2, 87, 88, 7, 22, 2, 2, 88, 35, 3, 2, 2, 2, 4, 39, 57] \ No newline at end of file
diff --git a/src/parser/SV3_1aSplitterParserBaseListener.cpp b/src/parser/SV3_1aSplitterParserBaseListener.cpp index 0bb42bf..81c8136 100644 --- a/src/parser/SV3_1aSplitterParserBaseListener.cpp +++ b/src/parser/SV3_1aSplitterParserBaseListener.cpp
@@ -1,5 +1,5 @@ -// Generated from SV3_1aSplitterParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 #include "SV3_1aSplitterParserBaseListener.h"
diff --git a/src/parser/SV3_1aSplitterParserBaseListener.h b/src/parser/SV3_1aSplitterParserBaseListener.h index 31a590d..6db3267 100644 --- a/src/parser/SV3_1aSplitterParserBaseListener.h +++ b/src/parser/SV3_1aSplitterParserBaseListener.h
@@ -1,5 +1,5 @@ -// Generated from SV3_1aSplitterParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 #pragma once
diff --git a/src/parser/SV3_1aSplitterParserBaseVisitor.cpp b/src/parser/SV3_1aSplitterParserBaseVisitor.cpp new file mode 100644 index 0000000..1d17a79 --- /dev/null +++ b/src/parser/SV3_1aSplitterParserBaseVisitor.cpp
@@ -0,0 +1,7 @@ + +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 + + +#include "SV3_1aSplitterParserBaseVisitor.h" + +
diff --git a/src/parser/SV3_1aSplitterParserBaseVisitor.h b/src/parser/SV3_1aSplitterParserBaseVisitor.h new file mode 100644 index 0000000..8239f03 --- /dev/null +++ b/src/parser/SV3_1aSplitterParserBaseVisitor.h
@@ -0,0 +1,88 @@ + +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 + +#pragma once + + +#include "antlr4-runtime.h" +#include "SV3_1aSplitterParserVisitor.h" + + +/** + * This class provides an empty implementation of SV3_1aSplitterParserVisitor, which can be + * extended to create a visitor which only needs to handle a subset of the available methods. + */ +class SV3_1aSplitterParserBaseVisitor : public SV3_1aSplitterParserVisitor { +public: + + virtual antlrcpp::Any visitSource_text(SV3_1aSplitterParser::Source_textContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitDescription(SV3_1aSplitterParser::DescriptionContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitModule(SV3_1aSplitterParser::ModuleContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndmodule(SV3_1aSplitterParser::EndmoduleContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSv_interface(SV3_1aSplitterParser::Sv_interfaceContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndinterface(SV3_1aSplitterParser::EndinterfaceContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitProgram(SV3_1aSplitterParser::ProgramContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndprogram(SV3_1aSplitterParser::EndprogramContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitPrimitive(SV3_1aSplitterParser::PrimitiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndprimitive(SV3_1aSplitterParser::EndprimitiveContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitSv_package(SV3_1aSplitterParser::Sv_packageContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndpackage(SV3_1aSplitterParser::EndpackageContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitChecker(SV3_1aSplitterParser::CheckerContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndchecker(SV3_1aSplitterParser::EndcheckerContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitConfig(SV3_1aSplitterParser::ConfigContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitEndconfig(SV3_1aSplitterParser::EndconfigContext *ctx) override { + return visitChildren(ctx); + } + + virtual antlrcpp::Any visitAny(SV3_1aSplitterParser::AnyContext *ctx) override { + return visitChildren(ctx); + } + + +}; +
diff --git a/src/parser/SV3_1aSplitterParserListener.cpp b/src/parser/SV3_1aSplitterParserListener.cpp index 0bacb9e..160e852 100644 --- a/src/parser/SV3_1aSplitterParserListener.cpp +++ b/src/parser/SV3_1aSplitterParserListener.cpp
@@ -1,5 +1,5 @@ -// Generated from SV3_1aSplitterParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 #include "SV3_1aSplitterParserListener.h"
diff --git a/src/parser/SV3_1aSplitterParserListener.h b/src/parser/SV3_1aSplitterParserListener.h index 7c34ce8..0d4da14 100644 --- a/src/parser/SV3_1aSplitterParserListener.h +++ b/src/parser/SV3_1aSplitterParserListener.h
@@ -1,5 +1,5 @@ -// Generated from SV3_1aSplitterParser.g4 by ANTLR 4.7.2 +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 #pragma once
diff --git a/src/parser/SV3_1aSplitterParserVisitor.cpp b/src/parser/SV3_1aSplitterParserVisitor.cpp new file mode 100644 index 0000000..88034b3 --- /dev/null +++ b/src/parser/SV3_1aSplitterParserVisitor.cpp
@@ -0,0 +1,7 @@ + +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 + + +#include "SV3_1aSplitterParserVisitor.h" + +
diff --git a/src/parser/SV3_1aSplitterParserVisitor.h b/src/parser/SV3_1aSplitterParserVisitor.h new file mode 100644 index 0000000..7ab7624 --- /dev/null +++ b/src/parser/SV3_1aSplitterParserVisitor.h
@@ -0,0 +1,58 @@ + +// Generated from /home/alain/Surelog/grammar/SV3_1aSplitterParser.g4 by ANTLR 4.7.2 + +#pragma once + + +#include "antlr4-runtime.h" +#include "SV3_1aSplitterParser.h" + + + +/** + * This class defines an abstract visitor for a parse tree + * produced by SV3_1aSplitterParser. + */ +class SV3_1aSplitterParserVisitor : public antlr4::tree::AbstractParseTreeVisitor { +public: + + /** + * Visit parse trees produced by SV3_1aSplitterParser. + */ + virtual antlrcpp::Any visitSource_text(SV3_1aSplitterParser::Source_textContext *context) = 0; + + virtual antlrcpp::Any visitDescription(SV3_1aSplitterParser::DescriptionContext *context) = 0; + + virtual antlrcpp::Any visitModule(SV3_1aSplitterParser::ModuleContext *context) = 0; + + virtual antlrcpp::Any visitEndmodule(SV3_1aSplitterParser::EndmoduleContext *context) = 0; + + virtual antlrcpp::Any visitSv_interface(SV3_1aSplitterParser::Sv_interfaceContext *context) = 0; + + virtual antlrcpp::Any visitEndinterface(SV3_1aSplitterParser::EndinterfaceContext *context) = 0; + + virtual antlrcpp::Any visitProgram(SV3_1aSplitterParser::ProgramContext *context) = 0; + + virtual antlrcpp::Any visitEndprogram(SV3_1aSplitterParser::EndprogramContext *context) = 0; + + virtual antlrcpp::Any visitPrimitive(SV3_1aSplitterParser::PrimitiveContext *context) = 0; + + virtual antlrcpp::Any visitEndprimitive(SV3_1aSplitterParser::EndprimitiveContext *context) = 0; + + virtual antlrcpp::Any visitSv_package(SV3_1aSplitterParser::Sv_packageContext *context) = 0; + + virtual antlrcpp::Any visitEndpackage(SV3_1aSplitterParser::EndpackageContext *context) = 0; + + virtual antlrcpp::Any visitChecker(SV3_1aSplitterParser::CheckerContext *context) = 0; + + virtual antlrcpp::Any visitEndchecker(SV3_1aSplitterParser::EndcheckerContext *context) = 0; + + virtual antlrcpp::Any visitConfig(SV3_1aSplitterParser::ConfigContext *context) = 0; + + virtual antlrcpp::Any visitEndconfig(SV3_1aSplitterParser::EndconfigContext *context) = 0; + + virtual antlrcpp::Any visitAny(SV3_1aSplitterParser::AnyContext *context) = 0; + + +}; +