Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch
Commits
3a273629
提交
3a273629
authored
3月 31, 2014
作者:
Anthony Minessale
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add mod_basic
上级
d08116e7
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
6910 行增加
和
0 行删除
+6910
-0
modules.conf.in
build/modules.conf.in
+1
-0
configure.ac
configure.ac
+1
-0
Makefile.am
src/mod/languages/mod_basic/Makefile.am
+8
-0
mod_basic.2008.vcproj
src/mod/languages/mod_basic/mod_basic.2008.vcproj
+291
-0
mod_basic.2010.vcxproj
src/mod/languages/mod_basic/mod_basic.2010.vcxproj
+132
-0
mod_basic.2012.vcxproj
src/mod/languages/mod_basic/mod_basic.2012.vcxproj
+136
-0
mod_basic.c
src/mod/languages/mod_basic/mod_basic.c
+418
-0
my_basic.c
src/mod/languages/mod_basic/my_basic.c
+5682
-0
my_basic.h
src/mod/languages/mod_basic/my_basic.h
+241
-0
没有找到文件。
build/modules.conf.in
浏览文件 @
3a273629
...
...
@@ -112,6 +112,7 @@ formats/mod_sndfile
#formats/mod_ssml
formats/mod_tone_stream
#formats/mod_vlc
#languages/mod_basic
#languages/mod_java
languages/mod_lua
#languages/mod_managed
...
...
configure.ac
浏览文件 @
3a273629
...
...
@@ -1484,6 +1484,7 @@ AC_CONFIG_FILES([Makefile
src/mod/languages/mod_python/Makefile
src/mod/languages/mod_v8/Makefile
src/mod/languages/mod_yaml/Makefile
src/mod/languages/mod_basic/Makefile
src/mod/legacy/languages/mod_lua/Makefile
src/mod/legacy/languages/mod_spidermonkey/Makefile
src/mod/loggers/mod_console/Makefile
...
...
src/mod/languages/mod_basic/Makefile.am
0 → 100644
浏览文件 @
3a273629
include
$(top_srcdir)/build/modmake.rulesam
MODNAME
=
mod_basic
mod_LTLIBRARIES
=
mod_basic.la
mod_basic_la_SOURCES
=
mod_basic.c my_basic.c
mod_basic_la_CFLAGS
=
$(AM_CFLAGS)
mod_basic_la_LIBADD
=
$(switch_builddir)
/libfreeswitch.la
mod_basic_la_LDFLAGS
=
-avoid-version
-module
-no-undefined
-shared
src/mod/languages/mod_basic/mod_basic.2008.vcproj
0 → 100644
浏览文件 @
3a273629
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType=
"Visual C++"
Version=
"9.00"
Name=
"mod_basic"
ProjectGUID=
"{11C9BC3D-45E9-46E3-BE84-B8CEE4685E39}"
RootNamespace=
"mod_basic"
Keyword=
"Win32Proj"
TargetFrameworkVersion=
"131072"
>
<Platforms>
<Platform
Name=
"Win32"
/>
<Platform
Name=
"x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name=
"Debug|Win32"
ConfigurationType=
"2"
InheritedPropertySheets=
"..\..\..\..\w32\module_debug.vsprops"
CharacterSet=
"2"
>
<Tool
Name=
"VCPreBuildEventTool"
/>
<Tool
Name=
"VCCustomBuildTool"
/>
<Tool
Name=
"VCXMLDataGeneratorTool"
/>
<Tool
Name=
"VCWebServiceProxyGeneratorTool"
/>
<Tool
Name=
"VCMIDLTool"
/>
<Tool
Name=
"VCCLCompilerTool"
UsePrecompiledHeader=
"0"
/>
<Tool
Name=
"VCManagedResourceCompilerTool"
/>
<Tool
Name=
"VCResourceCompilerTool"
/>
<Tool
Name=
"VCPreLinkEventTool"
/>
<Tool
Name=
"VCLinkerTool"
RandomizedBaseAddress=
"1"
DataExecutionPrevention=
"0"
/>
<Tool
Name=
"VCALinkTool"
/>
<Tool
Name=
"VCManifestTool"
/>
<Tool
Name=
"VCXDCMakeTool"
/>
<Tool
Name=
"VCBscMakeTool"
/>
<Tool
Name=
"VCFxCopTool"
/>
<Tool
Name=
"VCAppVerifierTool"
/>
<Tool
Name=
"VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name=
"Debug|x64"
OutputDirectory=
"$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory=
"$(PlatformName)\$(ConfigurationName)"
ConfigurationType=
"2"
InheritedPropertySheets=
"..\..\..\..\w32\module_debug.vsprops"
CharacterSet=
"2"
>
<Tool
Name=
"VCPreBuildEventTool"
/>
<Tool
Name=
"VCCustomBuildTool"
/>
<Tool
Name=
"VCXMLDataGeneratorTool"
/>
<Tool
Name=
"VCWebServiceProxyGeneratorTool"
/>
<Tool
Name=
"VCMIDLTool"
TargetEnvironment=
"3"
/>
<Tool
Name=
"VCCLCompilerTool"
UsePrecompiledHeader=
"0"
/>
<Tool
Name=
"VCManagedResourceCompilerTool"
/>
<Tool
Name=
"VCResourceCompilerTool"
/>
<Tool
Name=
"VCPreLinkEventTool"
/>
<Tool
Name=
"VCLinkerTool"
OutputFile=
"$(SolutionDir)$(PlatformName)\$(ConfigurationName)/mod/$(ProjectName).dll"
RandomizedBaseAddress=
"1"
DataExecutionPrevention=
"0"
TargetMachine=
"17"
/>
<Tool
Name=
"VCALinkTool"
/>
<Tool
Name=
"VCManifestTool"
/>
<Tool
Name=
"VCXDCMakeTool"
/>
<Tool
Name=
"VCBscMakeTool"
/>
<Tool
Name=
"VCFxCopTool"
/>
<Tool
Name=
"VCAppVerifierTool"
/>
<Tool
Name=
"VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name=
"Release|Win32"
ConfigurationType=
"2"
InheritedPropertySheets=
"..\..\..\..\w32\module_release.vsprops"
CharacterSet=
"2"
>
<Tool
Name=
"VCPreBuildEventTool"
/>
<Tool
Name=
"VCCustomBuildTool"
/>
<Tool
Name=
"VCXMLDataGeneratorTool"
/>
<Tool
Name=
"VCWebServiceProxyGeneratorTool"
/>
<Tool
Name=
"VCMIDLTool"
/>
<Tool
Name=
"VCCLCompilerTool"
UsePrecompiledHeader=
"0"
/>
<Tool
Name=
"VCManagedResourceCompilerTool"
/>
<Tool
Name=
"VCResourceCompilerTool"
/>
<Tool
Name=
"VCPreLinkEventTool"
/>
<Tool
Name=
"VCLinkerTool"
RandomizedBaseAddress=
"1"
DataExecutionPrevention=
"0"
/>
<Tool
Name=
"VCALinkTool"
/>
<Tool
Name=
"VCManifestTool"
/>
<Tool
Name=
"VCXDCMakeTool"
/>
<Tool
Name=
"VCBscMakeTool"
/>
<Tool
Name=
"VCFxCopTool"
/>
<Tool
Name=
"VCAppVerifierTool"
/>
<Tool
Name=
"VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name=
"Release|x64"
OutputDirectory=
"$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory=
"$(PlatformName)\$(ConfigurationName)"
ConfigurationType=
"2"
InheritedPropertySheets=
"..\..\..\..\w32\module_release.vsprops"
CharacterSet=
"2"
>
<Tool
Name=
"VCPreBuildEventTool"
/>
<Tool
Name=
"VCCustomBuildTool"
/>
<Tool
Name=
"VCXMLDataGeneratorTool"
/>
<Tool
Name=
"VCWebServiceProxyGeneratorTool"
/>
<Tool
Name=
"VCMIDLTool"
TargetEnvironment=
"3"
/>
<Tool
Name=
"VCCLCompilerTool"
UsePrecompiledHeader=
"0"
/>
<Tool
Name=
"VCManagedResourceCompilerTool"
/>
<Tool
Name=
"VCResourceCompilerTool"
/>
<Tool
Name=
"VCPreLinkEventTool"
/>
<Tool
Name=
"VCLinkerTool"
OutputFile=
"$(SolutionDir)$(PlatformName)\$(ConfigurationName)/mod/$(ProjectName).dll"
RandomizedBaseAddress=
"1"
DataExecutionPrevention=
"0"
TargetMachine=
"17"
/>
<Tool
Name=
"VCALinkTool"
/>
<Tool
Name=
"VCManifestTool"
/>
<Tool
Name=
"VCXDCMakeTool"
/>
<Tool
Name=
"VCBscMakeTool"
/>
<Tool
Name=
"VCFxCopTool"
/>
<Tool
Name=
"VCAppVerifierTool"
/>
<Tool
Name=
"VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath=
".\mod_basic.c"
>
</File>
<File
RelativePath=
".\my_basic.c"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
src/mod/languages/mod_basic/mod_basic.2010.vcxproj
0 → 100644
浏览文件 @
3a273629
<?xml version="1.0" encoding="utf-8"?>
<Project
DefaultTargets=
"Build"
ToolsVersion=
"4.0"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<ItemGroup
Label=
"ProjectConfigurations"
>
<ProjectConfiguration
Include=
"Debug|Win32"
>
<Configuration>
Debug
</Configuration>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Debug|x64"
>
<Configuration>
Debug
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Release|Win32"
>
<Configuration>
Release
</Configuration>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Release|x64"
>
<Configuration>
Release
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup
Label=
"Globals"
>
<ProjectName>
mod_basic
</ProjectName>
<ProjectGuid>
{11C9BC3D-45E9-46E3-BE84-B8CEE4685E39}
</ProjectGuid>
<RootNamespace>
mod_basic
</RootNamespace>
<Keyword>
Win32Proj
</Keyword>
</PropertyGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.Default.props"
/>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
MultiByte
</CharacterSet>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
MultiByte
</CharacterSet>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
MultiByte
</CharacterSet>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
MultiByte
</CharacterSet>
</PropertyGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.props"
/>
<ImportGroup
Label=
"ExtensionSettings"
>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"..\..\..\..\w32\module_release.props"
/>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"..\..\..\..\w32\module_debug.props"
/>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"..\..\..\..\w32\module_release.props"
/>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"..\..\..\..\w32\module_debug.props"
/>
</ImportGroup>
<PropertyGroup
Label=
"UserMacros"
/>
<PropertyGroup>
<_ProjectFileVersion>
10.0.30319.1
</_ProjectFileVersion>
</PropertyGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
>
<Midl>
<TargetEnvironment>
X64
</TargetEnvironment>
</Midl>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>
MachineX64
</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
>
<Midl>
<TargetEnvironment>
X64
</TargetEnvironment>
</Midl>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>
MachineX64
</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile
Include=
"mod_basic.c"
/>
<ClCompile
Include=
"my_basic.c"
/>
</ItemGroup>
<ItemGroup>
<ProjectReference
Include=
"..\..\..\..\w32\Library\FreeSwitchCore.2010.vcxproj"
>
<Project>
{202d7a4e-760d-4d0e-afa1-d7459ced30ff}
</Project>
<ReferenceOutputAssembly>
false
</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.targets"
/>
<ImportGroup
Label=
"ExtensionTargets"
>
</ImportGroup>
</Project>
src/mod/languages/mod_basic/mod_basic.2012.vcxproj
0 → 100644
浏览文件 @
3a273629
<?xml version="1.0" encoding="utf-8"?>
<Project
DefaultTargets=
"Build"
ToolsVersion=
"4.0"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<ItemGroup
Label=
"ProjectConfigurations"
>
<ProjectConfiguration
Include=
"Debug|Win32"
>
<Configuration>
Debug
</Configuration>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Debug|x64"
>
<Configuration>
Debug
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Release|Win32"
>
<Configuration>
Release
</Configuration>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Release|x64"
>
<Configuration>
Release
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup
Label=
"Globals"
>
<ProjectName>
mod_basic
</ProjectName>
<ProjectGuid>
{11C9BC3D-45E9-46E3-BE84-B8CEE4685E39}
</ProjectGuid>
<RootNamespace>
mod_basic
</RootNamespace>
<Keyword>
Win32Proj
</Keyword>
</PropertyGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.Default.props"
/>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
MultiByte
</CharacterSet>
<PlatformToolset>
v110
</PlatformToolset>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
MultiByte
</CharacterSet>
<PlatformToolset>
v110
</PlatformToolset>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
MultiByte
</CharacterSet>
<PlatformToolset>
v110
</PlatformToolset>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
MultiByte
</CharacterSet>
<PlatformToolset>
v110
</PlatformToolset>
</PropertyGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.props"
/>
<ImportGroup
Label=
"ExtensionSettings"
>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"..\..\..\..\w32\module_release.props"
/>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"..\..\..\..\w32\module_debug.props"
/>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"..\..\..\..\w32\module_release.props"
/>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"..\..\..\..\w32\module_debug.props"
/>
</ImportGroup>
<PropertyGroup
Label=
"UserMacros"
/>
<PropertyGroup>
<_ProjectFileVersion>
10.0.30319.1
</_ProjectFileVersion>
</PropertyGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
>
<Midl>
<TargetEnvironment>
X64
</TargetEnvironment>
</Midl>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>
MachineX64
</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
>
<Midl>
<TargetEnvironment>
X64
</TargetEnvironment>
</Midl>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>
MachineX64
</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile
Include=
"mod_basic.c"
/>
<ClCompile
Include=
"my_basic.c"
/>
</ItemGroup>
<ItemGroup>
<ProjectReference
Include=
"..\..\..\..\w32\Library\FreeSwitchCore.2012.vcxproj"
>
<Project>
{202d7a4e-760d-4d0e-afa1-d7459ced30ff}
</Project>
<ReferenceOutputAssembly>
false
</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.targets"
/>
<ImportGroup
Label=
"ExtensionTargets"
>
</ImportGroup>
</Project>
src/mod/languages/mod_basic/mod_basic.c
0 → 100644
浏览文件 @
3a273629
差异被折叠。
点击展开。
src/mod/languages/mod_basic/my_basic.c
0 → 100644
浏览文件 @
3a273629
差异被折叠。
点击展开。
src/mod/languages/mod_basic/my_basic.h
0 → 100644
浏览文件 @
3a273629
/*
** This source file is part of MY-BASIC
**
** For the latest info, see http://code.google.com/p/my-basic/
**
** Copyright (c) 2011 - 2013 Tony & Tony's Toy Game Development Team
**
** Permission is hereby granted, free of charge, to any person obtaining a copy of
** this software and associated documentation files (the "Software"), to deal in
** the Software without restriction, including without limitation the rights to
** use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
** the Software, and to permit persons to whom the Software is furnished to do so,
** subject to the following conditions:
**
** The above copyright notice and this permission notice shall be included in all
** copies or substantial portions of the Software.
**
** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
** FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef __MY_BASIC_H__
#define __MY_BASIC_H__
#ifdef __cplusplus
extern
"C"
{
#endif
/* __cplusplus */
#ifndef MBAPI
# define MBAPI
#endif
/* MBAPI */
#ifndef MB_COMPACT_MODE
# define MB_COMPACT_MODE
#endif
/* MB_COMPACT_MODE */
#ifdef MB_COMPACT_MODE
# pragma pack(1)
#endif
/* MB_COMPACT_MODE */
#ifndef true
# define true (!0)
#endif
#ifndef false
# define false (0)
#endif
#ifndef bool_t
# define bool_t int
#endif
#ifndef byte_t
# define byte_t unsigned char
#endif
#ifndef int_t
# define int_t int
#endif
#ifndef real_t
# define real_t float
#endif
#ifndef _MSC_VER
# ifndef _strcmpi
# define _strcmpi strcasecmp
# endif
/* _strcmpi */
#endif
/* _MSC_VER */
#ifndef mb_assert
# define mb_assert(__a) do { ((void)(__a)); assert(__a); } while(0)
#endif
/* mb_assert */
#ifndef mb_unrefvar
# define mb_unrefvar(__v) ((void)(__v))
#endif
/* mb_unrefvar */
#ifndef MB_CODES
# define MB_CODES
# define MB_FUNC_OK 0
# define MB_FUNC_BYE 1001
# define MB_FUNC_WARNING 1002
# define MB_FUNC_ERR 1003
# define MB_FUNC_END 1004
# define MB_FUNC_SUSPEND 1005
# define MB_PARSING_ERR 3001
# define MB_LOOP_BREAK 5001
# define MB_LOOP_CONTINUE 5002
# define MB_SUB_RETURN 5101
# define MB_EXTENDED_ABORT 9001
#endif
/* MB_CODES */
#ifndef mb_check
# define mb_check(__r) { int __hr = __r; if(__hr != MB_FUNC_OK) { return __hr; } }
#endif
/* mb_check */
#ifndef mb_reg_fun
# define mb_reg_fun(__s, __f) mb_register_func(__s, #__f, __f)
#endif
/* mb_reg_fun */
#ifndef mb_rem_fun
# define mb_rem_fun(__s, __f) mb_remove_func(__s, #__f)
#endif
/* mb_rem_fun */
struct
mb_interpreter_t
;
typedef
enum
mb_error_e
{
SE_NO_ERR
=
0
,
/** Common */
SE_CM_MB_OPEN_FAILED
,
SE_CM_FUNC_EXISTS
,
SE_CM_FUNC_NOT_EXISTS
,
/** Parsing */
SE_PS_FILE_OPEN_FAILED
,
SE_PS_SYMBOL_TOO_LONG
,
SE_PS_INVALID_CHAR
,
/** Running */
SE_RN_NOT_SUPPORTED
,
SE_RN_EMPTY_PROGRAM
,
SE_RN_SYNTAX
,
SE_RN_INVALID_DATA_TYPE
,
SE_RN_TYPE_NOT_MATCH
,
SE_RN_ILLEGAL_BOUND
,
SE_RN_DIMENSION_TOO_MUCH
,
SE_RN_OPERATION_FAILED
,
SE_RN_DIMENSION_OUT_OF_BOUND
,
SE_RN_ARRAY_OUT_OF_BOUND
,
SE_RN_LABEL_NOT_EXISTS
,
SE_RN_NO_RETURN_POINT
,
SE_RN_COLON_EXPECTED
,
SE_RN_COMMA_OR_SEMICOLON_EXPECTED
,
SE_RN_ARRAY_IDENTIFIER_EXPECTED
,
SE_RN_OPEN_BRACKET_EXPECTED
,
SE_RN_CLOSE_BRACKET_EXPECTED
,
SE_RN_ARRAY_SUBSCRIPT_EXPECTED
,
SE_RN_STRUCTURE_NOT_COMPLETED
,
SE_RN_FUNCTION_EXPECTED
,
SE_RN_STRING_EXPECTED
,
SE_RN_VAR_OR_ARRAY_EXPECTED
,
SE_RN_ASSIGN_OPERATOR_EXPECTED
,
SE_RN_INTEGER_EXPECTED
,
SE_RN_ELSE_EXPECTED
,
SE_RN_TO_EXPECTED
,
SE_RN_UNTIL_EXPECTED
,
SE_RN_LOOP_VAR_EXPECTED
,
SE_RN_JUMP_LABEL_EXPECTED
,
SE_RN_INVALID_ID_USAGE
,
SE_RN_CALCULATION_ERROR
,
SE_RN_DIVIDE_BY_ZERO
,
SE_RN_INVALID_EXPRESSION
,
SE_RN_OUT_OF_MEMORY
,
/** Extended abort */
SE_EA_EXTENDED_ABORT
,
}
mb_error_e
;
typedef
enum
mb_data_e
{
MB_DT_NIL
=
-
1
,
MB_DT_INT
=
0
,
MB_DT_REAL
,
MB_DT_STRING
,
}
mb_data_e
;
typedef
union
mb_value_u
{
int_t
integer
;
real_t
float_point
;
char
*
string
;
}
mb_value_u
;
typedef
struct
mb_value_t
{
mb_data_e
type
;
mb_value_u
value
;
}
mb_value_t
;
typedef
void
(
*
mb_error_handler_t
)(
struct
mb_interpreter_t
*
,
enum
mb_error_e
,
char
*
,
int
,
unsigned
short
,
unsigned
short
,
int
);
typedef
int
(
*
mb_func_t
)(
struct
mb_interpreter_t
*
,
void
**
);
typedef
int
(
*
mb_print_func_t
)(
const
char
*
,
...);
typedef
struct
mb_interpreter_t
{
void
*
local_func_dict
;
void
*
global_func_dict
;
void
*
global_var_dict
;
void
*
ast
;
void
*
parsing_context
;
void
*
running_context
;
mb_error_e
last_error
;
int
last_error_pos
;
unsigned
short
last_error_row
;
unsigned
short
last_error_col
;
mb_error_handler_t
error_handler
;
mb_print_func_t
printer
;
void
*
userdata
;
}
mb_interpreter_t
;
MBAPI
unsigned
int
mb_ver
(
void
);
MBAPI
const
char
*
mb_ver_string
(
void
);
MBAPI
int
mb_init
(
void
);
MBAPI
int
mb_dispose
(
void
);
MBAPI
int
mb_open
(
mb_interpreter_t
**
s
);
MBAPI
int
mb_close
(
mb_interpreter_t
**
s
);
MBAPI
int
mb_reset
(
mb_interpreter_t
**
s
,
bool_t
clrf
);
MBAPI
int
mb_register_func
(
mb_interpreter_t
*
s
,
const
char
*
n
,
mb_func_t
f
);
MBAPI
int
mb_remove_func
(
mb_interpreter_t
*
s
,
const
char
*
n
);
MBAPI
int
mb_attempt_func_begin
(
mb_interpreter_t
*
s
,
void
**
l
);
MBAPI
int
mb_attempt_func_end
(
mb_interpreter_t
*
s
,
void
**
l
);
MBAPI
int
mb_attempt_open_bracket
(
mb_interpreter_t
*
s
,
void
**
l
);
MBAPI
int
mb_attempt_close_bracket
(
mb_interpreter_t
*
s
,
void
**
l
);
MBAPI
int
mb_pop_int
(
mb_interpreter_t
*
s
,
void
**
l
,
int_t
*
val
);
MBAPI
int
mb_pop_real
(
mb_interpreter_t
*
s
,
void
**
l
,
real_t
*
val
);
MBAPI
int
mb_pop_string
(
mb_interpreter_t
*
s
,
void
**
l
,
char
**
val
);
MBAPI
int
mb_pop_value
(
mb_interpreter_t
*
s
,
void
**
l
,
mb_value_t
*
val
);
MBAPI
int
mb_push_int
(
mb_interpreter_t
*
s
,
void
**
l
,
int_t
val
);
MBAPI
int
mb_push_real
(
mb_interpreter_t
*
s
,
void
**
l
,
real_t
val
);
MBAPI
int
mb_push_string
(
mb_interpreter_t
*
s
,
void
**
l
,
char
*
val
);
MBAPI
int
mb_push_value
(
mb_interpreter_t
*
s
,
void
**
l
,
mb_value_t
val
);
MBAPI
int
mb_load_string
(
mb_interpreter_t
*
s
,
const
char
*
l
);
MBAPI
int
mb_load_file
(
mb_interpreter_t
*
s
,
const
char
*
f
);
MBAPI
int
mb_run
(
mb_interpreter_t
*
s
);
MBAPI
int
mb_suspend
(
mb_interpreter_t
*
s
,
void
**
l
);
MBAPI
mb_error_e
mb_get_last_error
(
mb_interpreter_t
*
s
);
MBAPI
const
char
*
mb_get_error_desc
(
mb_error_e
err
);
MBAPI
int
mb_set_error_handler
(
mb_interpreter_t
*
s
,
mb_error_handler_t
h
);
MBAPI
int
mb_set_printer
(
mb_interpreter_t
*
s
,
mb_print_func_t
p
);
MBAPI
void
mb_set_user_data
(
mb_interpreter_t
*
s
,
void
*
ptr
);
MBAPI
void
*
mb_get_user_data
(
mb_interpreter_t
*
s
);
#ifdef MB_COMPACT_MODE
# pragma pack()
#endif
/* MB_COMPACT_MODE */
#ifdef __cplusplus
}
#endif
/* __cplusplus */
#endif
/* __MY_BASIC_H__ */
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论