npress

编译原理(第三版) 语法分析器

别等时光非礼了梦想. 提交于 2021-01-07 10:35:09
语法分析器在词法分析器的基础上增加了递归下降分析程序,咱也不知道啥是递归下降程序,咱也不想问。 但是有程序框图和伪代码把程序跑通咱还是比较在行滴。为了便于理解,debug过程中的输出也保留了。 下面是完整代码。 1 /* 2 begin a:= 9; x:=2*3;b:=a+x end# 3 x:= a+b*c end # 4 */ 5 #include <stdio.h> 6 #include <stdlib.h> 7 #include < string .h> 8 #define _KEY_WORD_END "waiting for your expanding" 9 typedef struct 10 { 11 int typenum; 12 char * word; 13 }WORD; 14 char input[ 255 ]; 15 char token[ 255 ]= "" ; 16 int p_input; 17 int p_token; 18 char ch; 19 char * rwtab[] = { " begin " , " if " , " then " , " while " , " do " , " end " ,_KEY_WORD_END}; 20 WORD * scaner(); 21 WORD* oneword = new WORD; 22 int

c 语言使用lttng

浪尽此生 提交于 2020-08-13 15:46:35
以下内容来自lttng 官方文档,主要是学习记录 创建tracepoint hello-tp.h #undef TRACEPOINT_PROVIDER #define TRACEPOINT_PROVIDER hello_world ​ #undef TRACEPOINT_INCLUDE #define TRACEPOINT_INCLUDE "./hello-tp.h" ​ #if !defined(_HELLO_TP_H) || defined(TRACEPOINT_HEADER_MULTI_READ) #define _HELLO_TP_H ​ #include <lttng/tracepoint.h> ​ TRACEPOINT_EVENT( hello_world, my_first_tracepoint, TP_ARGS( int, my_integer_arg, char *, my_string_arg ), TP_FIELDS( ctf_string( my_string_field, my_string_arg) ctf_integer( int, my_integer_field, my_integer_arg) ) ) ​ #endif /* _HELLO_TP_H */ ​ #include <lttng/tracepoint-event.h> hello-tp

2D开发游戏作业:面向对象设计应用——发牌游戏

蓝咒 提交于 2020-03-21 16:34:50
3 月,跳不动了?>>> 1.游戏介绍 四名牌手打牌,电脑随机將52张牌(不合大、小王)发给四名牌手,并在屏幕上显示每位牌手的牌。 2.程序设计步骤 设计类 发牌程序设计出三个类: Card类、Hand类和Poke类。 Card类 Card类代表一张牌,其中,FaceNum字段指的是牌面数字1~13,Suit字段指的是花色,”梅”为梅花,”方”为方块,”红”为红桃,”黑”为黑桃。 Hand类 Hand类代表手牌(一个玩家手里拿的牌),可以认为是一位牌手手里的牌,其中,cards列表变量存储牌手手中的牌。可以增加牌、清空手里的牌、把一张牌给别的牌手等操作。 Poke类 Poke类代表一副牌,我们可以将一副牌看作是有52张牌的牌手,所以继承Hand类。由于其中cards列表变量要存储52张牌,而且要进行发牌、洗牌操作,所以增加如下的方法。 主程序 主程序比较简单,因为有四个牌手,所以生成players列表存储初始化的四位牌手。生成一副牌的对象实例poke1,调用populate()方法生成有52张牌的一副牌,调用huffle()方法洗牌打乱顺序,调用deal(players,13)方法分别给每位玩家发13张牌,最后示四位牌手所有的牌。 3.部分代码注释 1.定义扑克牌的牌面: 牌面数字:1—13 梅为梅花,方为方钻,红为红心,黑为黑桃 2.定义翻牌方法 3.定义牌的顺序号 4

3.面向对象设计应用——发牌游戏

ⅰ亾dé卋堺 提交于 2020-03-17 14:45:56
某厂面试归来,发现自己落伍了!>>> # Card Module # Basic classes for a game with playing cards class Card(): """A playing card""" RANKS = ["A","2","3","4","5","6","7", "8","9","10","J","Q","K"] # 牌面数字1-13 SUITS = ["梅花","方片","红心","黑桃"] def __init__(self,rank,suit,face_up = True): self.rank = rank # 牌面数字1~13 self.suit = suit # 花色 self.is_face_up = face_up # 是否显示牌的正面,True为正面,False为反面 def __str__(self): # printf if self.is_face_up: rep = self.suit + self.rank # +" " + str(self.pic_order()) else: rep = "XX" return rep def flip(self): # 翻牌方法 self.is_face_up = not self.is_face_up def pic_order(self): # 牌的顺序号 if self