资源简介
右线性文法生成的语言是右线性语言,有限自动机识别和接受的语言是正则语言。而正则文法是左线性文法和右线性文法的统称,所以右线性语言类与正则语言类是同一语言类。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
/****************************************************************************
*
*
* 程序功能:右线性文法转换为FA
*
* 版本:V 1.0
* 作者:朱雯
* 学号:2009206350011
* 学习单位:WHU.SKLSE
*
*
* **************************************************************************/
namespace RLg_FA
{
class FA
{
private ArrayList internal_state=new ArrayList ();//内部状态有限集合
private ArrayList input_alphabet=new ArrayList ();//输入字母表
private SortedList transfer_function = new SortedList();//转移函数
private string initial_state;//初始态
private string final_state;//终态
public void setInternalState(ArrayList s)//内部状态有限集合赋值
{
this.internal_state = s;
}
public ArrayList getInternalState()//得到内部状态有限集合
{
return this.internal_state;
}
public void addInternalState(string s)//添加内部状态
{
this.internal_state.Add(s);
}
public void setInputAlphabet(ArrayList s)//输入字母表赋值
{
this.input_alphabet = s;
}
public ArrayList getInputAlphabet()//得到输入字母表
{
return this.input_alphabet;
}
public void addInputAlphabet(string s)//向字母表中添加终结符
{
this.input_alphabet.Add(s);
}
public void setTransferFunction(SortedList s)//转移函数赋值
{
this.transfer_function = s;
}
public SortedList getTransferFunction()//得到转移函数
{
return this.transfer_function;
}
/**
* 增加转移函数 &(leftkeyrightkey)={value}
* 如果转移函数的左部key已存在,则在值列表中加入值 key=leftkeyrightkey
* 否则值列表中只包含value
* */
public void addTransferFunction(string leftkeystring rightkeystring value)
{
string key=leftkey+““+rightkey;
if (!this.transfer_function.Contains(key))
this.transfer_function.Add(key value);
//this.transfer_function.Add(key new ArrayList().Add(value));
else
{
int index = this.transfer_function.IndexOfKey(key);
string v = (string)this.transfer_function.GetByIndex(index);
if(!containsValue(valuev))
transfer_function.SetByIndex(index v + ““ + value);
}
}
//判断是否包含同一条转移函数
public bool containsValue(string valuestring s)
{
string[] valueList = s.Split(‘‘);
foreach (string str in valueList)
{
if (str.Equals(value)) return true;
}
return false;
}
public void setInitialState(string s)//初始态赋值
{
this.initial_state = s;
}
public string getInitialState()//得到初始态
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\.vs\
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\.vs\RLg_FA\
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\.vs\RLg_FA\v15\
文件 61440 2018-06-26 21:53 右线性文法构造有穷自动机\.vs\RLg_FA\v15\.suo
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\.vs\RLg_FA\v15\Server\
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\.vs\RLg_FA\v15\Server\sqlite3\
文件 0 2018-05-10 08:25 右线性文法构造有穷自动机\.vs\RLg_FA\v15\Server\sqlite3\db.lock
文件 503808 2018-06-23 17:16 右线性文法构造有穷自动机\.vs\RLg_FA\v15\Server\sqlite3\storage.ide
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\Backup\
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\Backup\RLg_FA\
文件 3453 2010-01-06 14:09 右线性文法构造有穷自动机\Backup\RLg_FA\FA.cs
文件 16316 2010-01-06 13:07 右线性文法构造有穷自动机\Backup\RLg_FA\Form1.Designer.cs
文件 8909 2010-01-07 20:48 右线性文法构造有穷自动机\Backup\RLg_FA\Form1.cs
文件 6221 2010-01-06 13:07 右线性文法构造有穷自动机\Backup\RLg_FA\Form1.resx
文件 465 2010-01-02 20:20 右线性文法构造有穷自动机\Backup\RLg_FA\Program.cs
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\Backup\RLg_FA\Properties\
文件 1160 2010-01-02 20:20 右线性文法构造有穷自动机\Backup\RLg_FA\Properties\AssemblyInfo.cs
文件 2866 2010-01-02 20:20 右线性文法构造有穷自动机\Backup\RLg_FA\Properties\Resources.Designer.cs
文件 5612 2010-01-02 20:20 右线性文法构造有穷自动机\Backup\RLg_FA\Properties\Resources.resx
文件 1089 2010-01-02 20:20 右线性文法构造有穷自动机\Backup\RLg_FA\Properties\Settings.Designer.cs
文件 249 2010-01-02 20:20 右线性文法构造有穷自动机\Backup\RLg_FA\Properties\Settings.settings
文件 2139 2010-01-06 16:41 右线性文法构造有穷自动机\Backup\RLg_FA\RLg.cs
文件 3323 2010-01-04 19:00 右线性文法构造有穷自动机\Backup\RLg_FA\RLg_FA.csproj
文件 12215 2010-01-07 20:48 右线性文法构造有穷自动机\Backup\RLg_FA\parser.cs
文件 907 2010-01-02 20:20 右线性文法构造有穷自动机\Backup\RLg_FA.sln
目录 0 2019-05-27 20:13 右线性文法构造有穷自动机\RLg_FA\
文件 3383 2018-05-10 10:12 右线性文法构造有穷自动机\RLg_FA\FA.cs
文件 18943 2018-05-11 10:24 右线性文法构造有穷自动机\RLg_FA\Form1.Designer.cs
文件 8931 2018-05-11 12:01 右线性文法构造有穷自动机\RLg_FA\Form1.cs
文件 6221 2018-05-11 10:24 右线性文法构造有穷自动机\RLg_FA\Form1.resx
............此处省略56个文件信息
- 上一篇:FPGA 自适应滤波器
- 下一篇:zw_深圳shp.zip
评论
共有 条评论