java--形式语言与自动机--文法产生语言(要求实现文法的存储、文法的表示、句子的产生)

本文探讨了在Java中如何存储和表示形式语言的文法,包括程序方式和文件方式存储文法四元组,以及如何用四元式表示文法。同时,介绍了如何根据给定长度生成文法句子的方法。
摘要由CSDN通过智能技术生成

java–形式语言与自动机–文法产生语言

1.文法的存储
可以使用两种存储方式:程序方式和文件方式;
程序方式是指将文法的四元组固定保存在程序中, 即一个程序处理一个文法。
文件方式是指将文法的四元组用文本方式存储,并定义格式,相应程序可以处理任意文法。

2.文法的表示
例如四元式表示:采用字符数组表示字母表和变量表,字符表示开始符号,字符串表示产生式组。(产生式符号向右箭头没有可以用“->”表示)

3.句子的产生
根据给定句子长度L生成所有长度不超过L的句子。

package 实验;

import java.awt.FileDialog;
import java.awt.Frame;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

public class 实验一_2 {
   
	static char []T=new char[20];
	static char []V=new char[20];
	static char S;
	static String [] P1 = new String[20];
	static String [] P2 = new String[20];
//	static String [][]P = new String[20][20];
	static int []Pn=new int[20];
	static int Vn;
	static int count=0;
	
	public static Frame jf;  //====================
	
	public static void GoS() {
   
		System.out.println("算法表达为:");
		
		for(int j=0;j<Vn;j++)
		{
   
			System.out.println(P2[j]);
		}
	}	

	public static void CreateLanguage() {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值