parse.v
上传用户:wqdrylgs
上传日期:2007-02-09
资源大小:65k
文件大小:32k
源码类别:

汇编语言

开发平台:

WINDOWS

  1. #############################################################################
  2. #                     U N R E G I S T E R E D   C O P Y
  3. # You are on day 85 of your 30 day trial period.
  4. # This file was produced by an UNREGISTERED COPY of Parser Generator. It is
  5. # for evaluation purposes only. If you continue to use Parser Generator 30
  6. # days after installation then you are required to purchase a license. For
  7. # more information see the online help or go to the Bumble-Bee Software
  8. # homepage at:
  9. # http://www.bumblebeesoftware.com
  10. # This notice must remain present in the file. It cannot be removed.
  11. #############################################################################
  12. #############################################################################
  13. # parse.v
  14. # YACC verbose file generated from parse.y.
  15. # Date: 06/24/03
  16. # Time: 17:07:53
  17. # AYACC Version: 2.05
  18. #############################################################################
  19. ##############################################################################
  20. # Rules
  21. ##############################################################################
  22.     0  $accept : program $end
  23.     1  program : dec_list
  24.     2  dec_list : dec_list dec
  25.     3           | dec
  26.     4  dec : var_dec
  27.     5      | fun_dec
  28.     6      | fun_def
  29.     7  id : ID
  30.     8  fid :
  31.     9  var_dec : type_spec id_list SEMI
  32.    10  id_list : id_list COMMA var
  33.    11          | var
  34.    12          | id_list COMMA id ASSIGN simple_exp
  35.    13          | id ASSIGN simple_exp
  36.    14  type_spec : INT
  37.    15            | FLOAT
  38.    16            | CHAR
  39.    17            | VOID
  40.    18  fun_def : type_spec id fid LP params RP comp_stmt
  41.    19          | id fid LP params RP comp_stmt
  42.    20  fun_dec : type_spec id fid LP params RP SEMI
  43.    21          | id fid LP params RP SEMI
  44.    22  params : param_list
  45.    23         |
  46.    24  param_list : param_list COMMA param
  47.    25             | param
  48.    26  param : type_spec
  49.    27        | type_spec id
  50.    28        | type_spec id LSP RSP
  51.    29        | type_spec id LSP simple_exp RSP
  52.    30  comp_stmt : LFP local_dec stmt_list RFP
  53.    31  local_dec : local_dec var_dec
  54.    32            |
  55.    33  stmt_list : stmt_list stmt
  56.    34            |
  57.    35  stmt : exp_stmt
  58.    36       | sele_stmt
  59.    37       | iter_stmt
  60.    38       | return_stmt
  61.    39       | comp_stmt
  62.    40       | CONTINUE SEMI
  63.    41       | BREAK SEMI
  64.    42  exp_stmt : exp SEMI
  65.    43           | SEMI
  66.    44  sele_stmt : IF LP exp RP stmt
  67.    45            | IF LP exp RP stmt ELSE stmt
  68.    46  iter_stmt : WHILE LP exp RP stmt
  69.    47  return_stmt : RETURN SEMI
  70.    48              | RETURN exp SEMI
  71.    49  exp : var ASSIGN exp
  72.    50      | simple_exp
  73.    51  var : id
  74.    52      | id LSP simple_exp RSP
  75.    53  simple_exp : simple_exp OR simple_exp
  76.    54             | simple_exp AND simple_exp
  77.    55             | simple_exp LT simple_exp
  78.    56             | simple_exp LE simple_exp
  79.    57             | simple_exp GT simple_exp
  80.    58             | simple_exp GE simple_exp
  81.    59             | simple_exp EQ simple_exp
  82.    60             | simple_exp NEQ simple_exp
  83.    61             | simple_exp PLUS simple_exp
  84.    62             | simple_exp SUB simple_exp
  85.    63             | simple_exp MUT simple_exp
  86.    64             | simple_exp DIV simple_exp
  87.    65             | factor
  88.    66  factor : LP exp RP
  89.    67         | var
  90.    68         | call
  91.    69         | NUM
  92.    70         | FNUM
  93.    71         | SCHAR
  94.    72         | NOT factor
  95.    73  call : var LP args RP
  96.    74  arg_list : arg_list COMMA exp
  97.    75           | exp
  98.    76  args : arg_list
  99.    77       |
  100. ##############################################################################
  101. # States
  102. ##############################################################################
  103. state 0
  104. $accept : . program $end
  105. INT  shift 1
  106. CHAR  shift 2
  107. FLOAT  shift 3
  108. VOID  shift 4
  109. ID  shift 5
  110. program  goto 6
  111. dec_list  goto 7
  112. dec  goto 8
  113. var_dec  goto 9
  114. fun_dec  goto 10
  115. fun_def  goto 11
  116. type_spec  goto 12
  117. id  goto 13
  118. state 1
  119. type_spec : INT .  (14)
  120. .  reduce 14
  121. state 2
  122. type_spec : CHAR .  (16)
  123. .  reduce 16
  124. state 3
  125. type_spec : FLOAT .  (15)
  126. .  reduce 15
  127. state 4
  128. type_spec : VOID .  (17)
  129. .  reduce 17
  130. state 5
  131. id : ID .  (7)
  132. .  reduce 7
  133. state 6
  134. $accept : program . $end  (0)
  135. $end  accept
  136. state 7
  137. program : dec_list .  (1)
  138. dec_list : dec_list . dec
  139. INT  shift 1
  140. CHAR  shift 2
  141. FLOAT  shift 3
  142. VOID  shift 4
  143. ID  shift 5
  144. .  reduce 1
  145. dec  goto 14
  146. var_dec  goto 9
  147. fun_dec  goto 10
  148. fun_def  goto 11
  149. type_spec  goto 12
  150. id  goto 13
  151. state 8
  152. dec_list : dec .  (3)
  153. .  reduce 3
  154. state 9
  155. dec : var_dec .  (4)
  156. .  reduce 4
  157. state 10
  158. dec : fun_dec .  (5)
  159. .  reduce 5
  160. state 11
  161. dec : fun_def .  (6)
  162. .  reduce 6
  163. state 12
  164. var_dec : type_spec . id_list SEMI
  165. fun_def : type_spec . id fid LP params RP comp_stmt
  166. fun_dec : type_spec . id fid LP params RP SEMI
  167. ID  shift 5
  168. var  goto 15
  169. id_list  goto 16
  170. id  goto 17
  171. state 13
  172. fun_def : id . fid LP params RP comp_stmt
  173. fun_dec : id . fid LP params RP SEMI
  174. fid : .  (8)
  175. .  reduce 8
  176. fid  goto 18
  177. state 14
  178. dec_list : dec_list dec .  (2)
  179. .  reduce 2
  180. state 15
  181. id_list : var .  (11)
  182. .  reduce 11
  183. state 16
  184. var_dec : type_spec id_list . SEMI
  185. id_list : id_list . COMMA var
  186. id_list : id_list . COMMA id ASSIGN simple_exp
  187. SEMI  shift 19
  188. COMMA  shift 20
  189. state 17
  190. id_list : id . ASSIGN simple_exp
  191. fun_def : type_spec id . fid LP params RP comp_stmt
  192. fun_dec : type_spec id . fid LP params RP SEMI
  193. var : id .  (51)
  194. var : id . LSP simple_exp RSP
  195. fid : .  (8)
  196. ASSIGN  shift 21
  197. LSP  shift 22
  198. LP  reduce 8
  199. .  reduce 51
  200. fid  goto 23
  201. state 18
  202. fun_def : id fid . LP params RP comp_stmt
  203. fun_dec : id fid . LP params RP SEMI
  204. LP  shift 24
  205. state 19
  206. var_dec : type_spec id_list SEMI .  (9)
  207. .  reduce 9
  208. state 20
  209. id_list : id_list COMMA . var
  210. id_list : id_list COMMA . id ASSIGN simple_exp
  211. ID  shift 5
  212. var  goto 25
  213. id  goto 26
  214. state 21
  215. id_list : id ASSIGN . simple_exp
  216. ID  shift 5
  217. NUM  shift 27
  218. FNUM  shift 28
  219. SCHAR  shift 29
  220. NOT  shift 30
  221. LP  shift 31
  222. var  goto 32
  223. simple_exp  goto 33
  224. factor  goto 34
  225. call  goto 35
  226. id  goto 36
  227. state 22
  228. var : id LSP . simple_exp RSP
  229. ID  shift 5
  230. NUM  shift 27
  231. FNUM  shift 28
  232. SCHAR  shift 29
  233. NOT  shift 30
  234. LP  shift 31
  235. var  goto 32
  236. simple_exp  goto 37
  237. factor  goto 34
  238. call  goto 35
  239. id  goto 36
  240. state 23
  241. fun_def : type_spec id fid . LP params RP comp_stmt
  242. fun_dec : type_spec id fid . LP params RP SEMI
  243. LP  shift 38
  244. state 24
  245. fun_def : id fid LP . params RP comp_stmt
  246. fun_dec : id fid LP . params RP SEMI
  247. params : .  (23)
  248. INT  shift 1
  249. CHAR  shift 2
  250. FLOAT  shift 3
  251. VOID  shift 4
  252. .  reduce 23
  253. params  goto 39
  254. param_list  goto 40
  255. param  goto 41
  256. type_spec  goto 42
  257. state 25
  258. id_list : id_list COMMA var .  (10)
  259. .  reduce 10
  260. state 26
  261. id_list : id_list COMMA id . ASSIGN simple_exp
  262. var : id .  (51)
  263. var : id . LSP simple_exp RSP
  264. ASSIGN  shift 43
  265. LSP  shift 22
  266. .  reduce 51
  267. state 27
  268. factor : NUM .  (69)
  269. .  reduce 69
  270. state 28
  271. factor : FNUM .  (70)
  272. .  reduce 70
  273. state 29
  274. factor : SCHAR .  (71)
  275. .  reduce 71
  276. state 30
  277. factor : NOT . factor
  278. ID  shift 5
  279. NUM  shift 27
  280. FNUM  shift 28
  281. SCHAR  shift 29
  282. NOT  shift 30
  283. LP  shift 31
  284. var  goto 32
  285. factor  goto 44
  286. call  goto 35
  287. id  goto 36
  288. state 31
  289. factor : LP . exp RP
  290. ID  shift 5
  291. NUM  shift 27
  292. FNUM  shift 28
  293. SCHAR  shift 29
  294. NOT  shift 30
  295. LP  shift 31
  296. exp  goto 45
  297. var  goto 46
  298. simple_exp  goto 47
  299. factor  goto 34
  300. call  goto 35
  301. id  goto 36
  302. state 32
  303. factor : var .  (67)
  304. call : var . LP args RP
  305. LP  shift 48
  306. .  reduce 67
  307. state 33
  308. id_list : id ASSIGN simple_exp .  (13)
  309. simple_exp : simple_exp . OR simple_exp
  310. simple_exp : simple_exp . AND simple_exp
  311. simple_exp : simple_exp . LT simple_exp
  312. simple_exp : simple_exp . LE simple_exp
  313. simple_exp : simple_exp . GT simple_exp
  314. simple_exp : simple_exp . GE simple_exp
  315. simple_exp : simple_exp . EQ simple_exp
  316. simple_exp : simple_exp . NEQ simple_exp
  317. simple_exp : simple_exp . PLUS simple_exp
  318. simple_exp : simple_exp . SUB simple_exp
  319. simple_exp : simple_exp . MUT simple_exp
  320. simple_exp : simple_exp . DIV simple_exp
  321. PLUS  shift 49
  322. SUB  shift 50
  323. MUT  shift 51
  324. DIV  shift 52
  325. LT  shift 53
  326. LE  shift 54
  327. GT  shift 55
  328. GE  shift 56
  329. EQ  shift 57
  330. NEQ  shift 58
  331. AND  shift 59
  332. OR  shift 60
  333. .  reduce 13
  334. state 34
  335. simple_exp : factor .  (65)
  336. .  reduce 65
  337. state 35
  338. factor : call .  (68)
  339. .  reduce 68
  340. state 36
  341. var : id .  (51)
  342. var : id . LSP simple_exp RSP
  343. LSP  shift 22
  344. .  reduce 51
  345. state 37
  346. var : id LSP simple_exp . RSP
  347. simple_exp : simple_exp . OR simple_exp
  348. simple_exp : simple_exp . AND simple_exp
  349. simple_exp : simple_exp . LT simple_exp
  350. simple_exp : simple_exp . LE simple_exp
  351. simple_exp : simple_exp . GT simple_exp
  352. simple_exp : simple_exp . GE simple_exp
  353. simple_exp : simple_exp . EQ simple_exp
  354. simple_exp : simple_exp . NEQ simple_exp
  355. simple_exp : simple_exp . PLUS simple_exp
  356. simple_exp : simple_exp . SUB simple_exp
  357. simple_exp : simple_exp . MUT simple_exp
  358. simple_exp : simple_exp . DIV simple_exp
  359. PLUS  shift 49
  360. SUB  shift 50
  361. MUT  shift 51
  362. DIV  shift 52
  363. LT  shift 53
  364. LE  shift 54
  365. GT  shift 55
  366. GE  shift 56
  367. EQ  shift 57
  368. NEQ  shift 58
  369. AND  shift 59
  370. OR  shift 60
  371. RSP  shift 61
  372. state 38
  373. fun_def : type_spec id fid LP . params RP comp_stmt
  374. fun_dec : type_spec id fid LP . params RP SEMI
  375. params : .  (23)
  376. INT  shift 1
  377. CHAR  shift 2
  378. FLOAT  shift 3
  379. VOID  shift 4
  380. .  reduce 23
  381. params  goto 62
  382. param_list  goto 40
  383. param  goto 41
  384. type_spec  goto 42
  385. state 39
  386. fun_def : id fid LP params . RP comp_stmt
  387. fun_dec : id fid LP params . RP SEMI
  388. RP  shift 63
  389. state 40
  390. params : param_list .  (22)
  391. param_list : param_list . COMMA param
  392. COMMA  shift 64
  393. .  reduce 22
  394. state 41
  395. param_list : param .  (25)
  396. .  reduce 25
  397. state 42
  398. param : type_spec .  (26)
  399. param : type_spec . id
  400. param : type_spec . id LSP RSP
  401. param : type_spec . id LSP simple_exp RSP
  402. ID  shift 5
  403. .  reduce 26
  404. id  goto 65
  405. state 43
  406. id_list : id_list COMMA id ASSIGN . simple_exp
  407. ID  shift 5
  408. NUM  shift 27
  409. FNUM  shift 28
  410. SCHAR  shift 29
  411. NOT  shift 30
  412. LP  shift 31
  413. var  goto 32
  414. simple_exp  goto 66
  415. factor  goto 34
  416. call  goto 35
  417. id  goto 36
  418. state 44
  419. factor : NOT factor .  (72)
  420. .  reduce 72
  421. state 45
  422. factor : LP exp . RP
  423. RP  shift 67
  424. state 46
  425. exp : var . ASSIGN exp
  426. factor : var .  (67)
  427. call : var . LP args RP
  428. ASSIGN  shift 68
  429. LP  shift 48
  430. .  reduce 67
  431. state 47
  432. exp : simple_exp .  (50)
  433. simple_exp : simple_exp . OR simple_exp
  434. simple_exp : simple_exp . AND simple_exp
  435. simple_exp : simple_exp . LT simple_exp
  436. simple_exp : simple_exp . LE simple_exp
  437. simple_exp : simple_exp . GT simple_exp
  438. simple_exp : simple_exp . GE simple_exp
  439. simple_exp : simple_exp . EQ simple_exp
  440. simple_exp : simple_exp . NEQ simple_exp
  441. simple_exp : simple_exp . PLUS simple_exp
  442. simple_exp : simple_exp . SUB simple_exp
  443. simple_exp : simple_exp . MUT simple_exp
  444. simple_exp : simple_exp . DIV simple_exp
  445. PLUS  shift 49
  446. SUB  shift 50
  447. MUT  shift 51
  448. DIV  shift 52
  449. LT  shift 53
  450. LE  shift 54
  451. GT  shift 55
  452. GE  shift 56
  453. EQ  shift 57
  454. NEQ  shift 58
  455. AND  shift 59
  456. OR  shift 60
  457. .  reduce 50
  458. state 48
  459. call : var LP . args RP
  460. args : .  (77)
  461. ID  shift 5
  462. NUM  shift 27
  463. FNUM  shift 28
  464. SCHAR  shift 29
  465. NOT  shift 30
  466. LP  shift 31
  467. .  reduce 77
  468. exp  goto 69
  469. var  goto 46
  470. simple_exp  goto 47
  471. factor  goto 34
  472. call  goto 35
  473. args  goto 70
  474. arg_list  goto 71
  475. id  goto 36
  476. state 49
  477. simple_exp : simple_exp PLUS . simple_exp
  478. ID  shift 5
  479. NUM  shift 27
  480. FNUM  shift 28
  481. SCHAR  shift 29
  482. NOT  shift 30
  483. LP  shift 31
  484. var  goto 32
  485. simple_exp  goto 72
  486. factor  goto 34
  487. call  goto 35
  488. id  goto 36
  489. state 50
  490. simple_exp : simple_exp SUB . simple_exp
  491. ID  shift 5
  492. NUM  shift 27
  493. FNUM  shift 28
  494. SCHAR  shift 29
  495. NOT  shift 30
  496. LP  shift 31
  497. var  goto 32
  498. simple_exp  goto 73
  499. factor  goto 34
  500. call  goto 35
  501. id  goto 36
  502. state 51
  503. simple_exp : simple_exp MUT . simple_exp
  504. ID  shift 5
  505. NUM  shift 27
  506. FNUM  shift 28
  507. SCHAR  shift 29
  508. NOT  shift 30
  509. LP  shift 31
  510. var  goto 32
  511. simple_exp  goto 74
  512. factor  goto 34
  513. call  goto 35
  514. id  goto 36
  515. state 52
  516. simple_exp : simple_exp DIV . simple_exp
  517. ID  shift 5
  518. NUM  shift 27
  519. FNUM  shift 28
  520. SCHAR  shift 29
  521. NOT  shift 30
  522. LP  shift 31
  523. var  goto 32
  524. simple_exp  goto 75
  525. factor  goto 34
  526. call  goto 35
  527. id  goto 36
  528. state 53
  529. simple_exp : simple_exp LT . simple_exp
  530. ID  shift 5
  531. NUM  shift 27
  532. FNUM  shift 28
  533. SCHAR  shift 29
  534. NOT  shift 30
  535. LP  shift 31
  536. var  goto 32
  537. simple_exp  goto 76
  538. factor  goto 34
  539. call  goto 35
  540. id  goto 36
  541. state 54
  542. simple_exp : simple_exp LE . simple_exp
  543. ID  shift 5
  544. NUM  shift 27
  545. FNUM  shift 28
  546. SCHAR  shift 29
  547. NOT  shift 30
  548. LP  shift 31
  549. var  goto 32
  550. simple_exp  goto 77
  551. factor  goto 34
  552. call  goto 35
  553. id  goto 36
  554. state 55
  555. simple_exp : simple_exp GT . simple_exp
  556. ID  shift 5
  557. NUM  shift 27
  558. FNUM  shift 28
  559. SCHAR  shift 29
  560. NOT  shift 30
  561. LP  shift 31
  562. var  goto 32
  563. simple_exp  goto 78
  564. factor  goto 34
  565. call  goto 35
  566. id  goto 36
  567. state 56
  568. simple_exp : simple_exp GE . simple_exp
  569. ID  shift 5
  570. NUM  shift 27
  571. FNUM  shift 28
  572. SCHAR  shift 29
  573. NOT  shift 30
  574. LP  shift 31
  575. var  goto 32
  576. simple_exp  goto 79
  577. factor  goto 34
  578. call  goto 35
  579. id  goto 36
  580. state 57
  581. simple_exp : simple_exp EQ . simple_exp
  582. ID  shift 5
  583. NUM  shift 27
  584. FNUM  shift 28
  585. SCHAR  shift 29
  586. NOT  shift 30
  587. LP  shift 31
  588. var  goto 32
  589. simple_exp  goto 80
  590. factor  goto 34
  591. call  goto 35
  592. id  goto 36
  593. state 58
  594. simple_exp : simple_exp NEQ . simple_exp
  595. ID  shift 5
  596. NUM  shift 27
  597. FNUM  shift 28
  598. SCHAR  shift 29
  599. NOT  shift 30
  600. LP  shift 31
  601. var  goto 32
  602. simple_exp  goto 81
  603. factor  goto 34
  604. call  goto 35
  605. id  goto 36
  606. state 59
  607. simple_exp : simple_exp AND . simple_exp
  608. ID  shift 5
  609. NUM  shift 27
  610. FNUM  shift 28
  611. SCHAR  shift 29
  612. NOT  shift 30
  613. LP  shift 31
  614. var  goto 32
  615. simple_exp  goto 82
  616. factor  goto 34
  617. call  goto 35
  618. id  goto 36
  619. state 60
  620. simple_exp : simple_exp OR . simple_exp
  621. ID  shift 5
  622. NUM  shift 27
  623. FNUM  shift 28
  624. SCHAR  shift 29
  625. NOT  shift 30
  626. LP  shift 31
  627. var  goto 32
  628. simple_exp  goto 83
  629. factor  goto 34
  630. call  goto 35
  631. id  goto 36
  632. state 61
  633. var : id LSP simple_exp RSP .  (52)
  634. .  reduce 52
  635. state 62
  636. fun_def : type_spec id fid LP params . RP comp_stmt
  637. fun_dec : type_spec id fid LP params . RP SEMI
  638. RP  shift 84
  639. state 63
  640. fun_def : id fid LP params RP . comp_stmt
  641. fun_dec : id fid LP params RP . SEMI
  642. SEMI  shift 85
  643. LFP  shift 86
  644. comp_stmt  goto 87
  645. state 64
  646. param_list : param_list COMMA . param
  647. INT  shift 1
  648. CHAR  shift 2
  649. FLOAT  shift 3
  650. VOID  shift 4
  651. param  goto 88
  652. type_spec  goto 42
  653. state 65
  654. param : type_spec id .  (27)
  655. param : type_spec id . LSP RSP
  656. param : type_spec id . LSP simple_exp RSP
  657. LSP  shift 89
  658. .  reduce 27
  659. state 66
  660. id_list : id_list COMMA id ASSIGN simple_exp .  (12)
  661. simple_exp : simple_exp . OR simple_exp
  662. simple_exp : simple_exp . AND simple_exp
  663. simple_exp : simple_exp . LT simple_exp
  664. simple_exp : simple_exp . LE simple_exp
  665. simple_exp : simple_exp . GT simple_exp
  666. simple_exp : simple_exp . GE simple_exp
  667. simple_exp : simple_exp . EQ simple_exp
  668. simple_exp : simple_exp . NEQ simple_exp
  669. simple_exp : simple_exp . PLUS simple_exp
  670. simple_exp : simple_exp . SUB simple_exp
  671. simple_exp : simple_exp . MUT simple_exp
  672. simple_exp : simple_exp . DIV simple_exp
  673. PLUS  shift 49
  674. SUB  shift 50
  675. MUT  shift 51
  676. DIV  shift 52
  677. LT  shift 53
  678. LE  shift 54
  679. GT  shift 55
  680. GE  shift 56
  681. EQ  shift 57
  682. NEQ  shift 58
  683. AND  shift 59
  684. OR  shift 60
  685. .  reduce 12
  686. state 67
  687. factor : LP exp RP .  (66)
  688. .  reduce 66
  689. state 68
  690. exp : var ASSIGN . exp
  691. ID  shift 5
  692. NUM  shift 27
  693. FNUM  shift 28
  694. SCHAR  shift 29
  695. NOT  shift 30
  696. LP  shift 31
  697. exp  goto 90
  698. var  goto 46
  699. simple_exp  goto 47
  700. factor  goto 34
  701. call  goto 35
  702. id  goto 36
  703. state 69
  704. arg_list : exp .  (75)
  705. .  reduce 75
  706. state 70
  707. call : var LP args . RP
  708. RP  shift 91
  709. state 71
  710. arg_list : arg_list . COMMA exp
  711. args : arg_list .  (76)
  712. COMMA  shift 92
  713. .  reduce 76
  714. state 72
  715. simple_exp : simple_exp . OR simple_exp
  716. simple_exp : simple_exp . AND simple_exp
  717. simple_exp : simple_exp . LT simple_exp
  718. simple_exp : simple_exp . LE simple_exp
  719. simple_exp : simple_exp . GT simple_exp
  720. simple_exp : simple_exp . GE simple_exp
  721. simple_exp : simple_exp . EQ simple_exp
  722. simple_exp : simple_exp . NEQ simple_exp
  723. simple_exp : simple_exp PLUS simple_exp .  (61)
  724. simple_exp : simple_exp . PLUS simple_exp
  725. simple_exp : simple_exp . SUB simple_exp
  726. simple_exp : simple_exp . MUT simple_exp
  727. simple_exp : simple_exp . DIV simple_exp
  728. MUT  shift 51
  729. DIV  shift 52
  730. .  reduce 61
  731. state 73
  732. simple_exp : simple_exp . OR simple_exp
  733. simple_exp : simple_exp . AND simple_exp
  734. simple_exp : simple_exp . LT simple_exp
  735. simple_exp : simple_exp . LE simple_exp
  736. simple_exp : simple_exp . GT simple_exp
  737. simple_exp : simple_exp . GE simple_exp
  738. simple_exp : simple_exp . EQ simple_exp
  739. simple_exp : simple_exp . NEQ simple_exp
  740. simple_exp : simple_exp . PLUS simple_exp
  741. simple_exp : simple_exp SUB simple_exp .  (62)
  742. simple_exp : simple_exp . SUB simple_exp
  743. simple_exp : simple_exp . MUT simple_exp
  744. simple_exp : simple_exp . DIV simple_exp
  745. MUT  shift 51
  746. DIV  shift 52
  747. .  reduce 62
  748. state 74
  749. simple_exp : simple_exp . OR simple_exp
  750. simple_exp : simple_exp . AND simple_exp
  751. simple_exp : simple_exp . LT simple_exp
  752. simple_exp : simple_exp . LE simple_exp
  753. simple_exp : simple_exp . GT simple_exp
  754. simple_exp : simple_exp . GE simple_exp
  755. simple_exp : simple_exp . EQ simple_exp
  756. simple_exp : simple_exp . NEQ simple_exp
  757. simple_exp : simple_exp . PLUS simple_exp
  758. simple_exp : simple_exp . SUB simple_exp
  759. simple_exp : simple_exp MUT simple_exp .  (63)
  760. simple_exp : simple_exp . MUT simple_exp
  761. simple_exp : simple_exp . DIV simple_exp
  762. .  reduce 63
  763. state 75
  764. simple_exp : simple_exp . OR simple_exp
  765. simple_exp : simple_exp . AND simple_exp
  766. simple_exp : simple_exp . LT simple_exp
  767. simple_exp : simple_exp . LE simple_exp
  768. simple_exp : simple_exp . GT simple_exp
  769. simple_exp : simple_exp . GE simple_exp
  770. simple_exp : simple_exp . EQ simple_exp
  771. simple_exp : simple_exp . NEQ simple_exp
  772. simple_exp : simple_exp . PLUS simple_exp
  773. simple_exp : simple_exp . SUB simple_exp
  774. simple_exp : simple_exp . MUT simple_exp
  775. simple_exp : simple_exp DIV simple_exp .  (64)
  776. simple_exp : simple_exp . DIV simple_exp
  777. .  reduce 64
  778. state 76
  779. simple_exp : simple_exp . OR simple_exp
  780. simple_exp : simple_exp . AND simple_exp
  781. simple_exp : simple_exp LT simple_exp .  (55)
  782. simple_exp : simple_exp . LT simple_exp
  783. simple_exp : simple_exp . LE simple_exp
  784. simple_exp : simple_exp . GT simple_exp
  785. simple_exp : simple_exp . GE simple_exp
  786. simple_exp : simple_exp . EQ simple_exp
  787. simple_exp : simple_exp . NEQ simple_exp
  788. simple_exp : simple_exp . PLUS simple_exp
  789. simple_exp : simple_exp . SUB simple_exp
  790. simple_exp : simple_exp . MUT simple_exp
  791. simple_exp : simple_exp . DIV simple_exp
  792. PLUS  shift 49
  793. SUB  shift 50
  794. MUT  shift 51
  795. DIV  shift 52
  796. .  reduce 55
  797. state 77
  798. simple_exp : simple_exp . OR simple_exp
  799. simple_exp : simple_exp . AND simple_exp
  800. simple_exp : simple_exp . LT simple_exp
  801. simple_exp : simple_exp LE simple_exp .  (56)
  802. simple_exp : simple_exp . LE simple_exp
  803. simple_exp : simple_exp . GT simple_exp
  804. simple_exp : simple_exp . GE simple_exp
  805. simple_exp : simple_exp . EQ simple_exp
  806. simple_exp : simple_exp . NEQ simple_exp
  807. simple_exp : simple_exp . PLUS simple_exp
  808. simple_exp : simple_exp . SUB simple_exp
  809. simple_exp : simple_exp . MUT simple_exp
  810. simple_exp : simple_exp . DIV simple_exp
  811. PLUS  shift 49
  812. SUB  shift 50
  813. MUT  shift 51
  814. DIV  shift 52
  815. .  reduce 56
  816. state 78
  817. simple_exp : simple_exp . OR simple_exp
  818. simple_exp : simple_exp . AND simple_exp
  819. simple_exp : simple_exp . LT simple_exp
  820. simple_exp : simple_exp . LE simple_exp
  821. simple_exp : simple_exp GT simple_exp .  (57)
  822. simple_exp : simple_exp . GT simple_exp
  823. simple_exp : simple_exp . GE simple_exp
  824. simple_exp : simple_exp . EQ simple_exp
  825. simple_exp : simple_exp . NEQ simple_exp
  826. simple_exp : simple_exp . PLUS simple_exp
  827. simple_exp : simple_exp . SUB simple_exp
  828. simple_exp : simple_exp . MUT simple_exp
  829. simple_exp : simple_exp . DIV simple_exp
  830. PLUS  shift 49
  831. SUB  shift 50
  832. MUT  shift 51
  833. DIV  shift 52
  834. .  reduce 57
  835. state 79
  836. simple_exp : simple_exp . OR simple_exp
  837. simple_exp : simple_exp . AND simple_exp
  838. simple_exp : simple_exp . LT simple_exp
  839. simple_exp : simple_exp . LE simple_exp
  840. simple_exp : simple_exp . GT simple_exp
  841. simple_exp : simple_exp GE simple_exp .  (58)
  842. simple_exp : simple_exp . GE simple_exp
  843. simple_exp : simple_exp . EQ simple_exp
  844. simple_exp : simple_exp . NEQ simple_exp
  845. simple_exp : simple_exp . PLUS simple_exp
  846. simple_exp : simple_exp . SUB simple_exp
  847. simple_exp : simple_exp . MUT simple_exp
  848. simple_exp : simple_exp . DIV simple_exp
  849. PLUS  shift 49
  850. SUB  shift 50
  851. MUT  shift 51
  852. DIV  shift 52
  853. .  reduce 58
  854. state 80
  855. simple_exp : simple_exp . OR simple_exp
  856. simple_exp : simple_exp . AND simple_exp
  857. simple_exp : simple_exp . LT simple_exp
  858. simple_exp : simple_exp . LE simple_exp
  859. simple_exp : simple_exp . GT simple_exp
  860. simple_exp : simple_exp . GE simple_exp
  861. simple_exp : simple_exp EQ simple_exp .  (59)
  862. simple_exp : simple_exp . EQ simple_exp
  863. simple_exp : simple_exp . NEQ simple_exp
  864. simple_exp : simple_exp . PLUS simple_exp
  865. simple_exp : simple_exp . SUB simple_exp
  866. simple_exp : simple_exp . MUT simple_exp
  867. simple_exp : simple_exp . DIV simple_exp
  868. PLUS  shift 49
  869. SUB  shift 50
  870. MUT  shift 51
  871. DIV  shift 52
  872. LT  shift 53
  873. LE  shift 54
  874. GT  shift 55
  875. GE  shift 56
  876. .  reduce 59
  877. state 81
  878. simple_exp : simple_exp . OR simple_exp
  879. simple_exp : simple_exp . AND simple_exp
  880. simple_exp : simple_exp . LT simple_exp
  881. simple_exp : simple_exp . LE simple_exp
  882. simple_exp : simple_exp . GT simple_exp
  883. simple_exp : simple_exp . GE simple_exp
  884. simple_exp : simple_exp . EQ simple_exp
  885. simple_exp : simple_exp NEQ simple_exp .  (60)
  886. simple_exp : simple_exp . NEQ simple_exp
  887. simple_exp : simple_exp . PLUS simple_exp
  888. simple_exp : simple_exp . SUB simple_exp
  889. simple_exp : simple_exp . MUT simple_exp
  890. simple_exp : simple_exp . DIV simple_exp
  891. PLUS  shift 49
  892. SUB  shift 50
  893. MUT  shift 51
  894. DIV  shift 52
  895. LT  shift 53
  896. LE  shift 54
  897. GT  shift 55
  898. GE  shift 56
  899. .  reduce 60
  900. state 82
  901. simple_exp : simple_exp . OR simple_exp
  902. simple_exp : simple_exp AND simple_exp .  (54)
  903. simple_exp : simple_exp . AND simple_exp
  904. simple_exp : simple_exp . LT simple_exp
  905. simple_exp : simple_exp . LE simple_exp
  906. simple_exp : simple_exp . GT simple_exp
  907. simple_exp : simple_exp . GE simple_exp
  908. simple_exp : simple_exp . EQ simple_exp
  909. simple_exp : simple_exp . NEQ simple_exp
  910. simple_exp : simple_exp . PLUS simple_exp
  911. simple_exp : simple_exp . SUB simple_exp
  912. simple_exp : simple_exp . MUT simple_exp
  913. simple_exp : simple_exp . DIV simple_exp
  914. PLUS  shift 49
  915. SUB  shift 50
  916. MUT  shift 51
  917. DIV  shift 52
  918. LT  shift 53
  919. LE  shift 54
  920. GT  shift 55
  921. GE  shift 56
  922. EQ  shift 57
  923. NEQ  shift 58
  924. .  reduce 54
  925. state 83
  926. simple_exp : simple_exp OR simple_exp .  (53)
  927. simple_exp : simple_exp . OR simple_exp
  928. simple_exp : simple_exp . AND simple_exp
  929. simple_exp : simple_exp . LT simple_exp
  930. simple_exp : simple_exp . LE simple_exp
  931. simple_exp : simple_exp . GT simple_exp
  932. simple_exp : simple_exp . GE simple_exp
  933. simple_exp : simple_exp . EQ simple_exp
  934. simple_exp : simple_exp . NEQ simple_exp
  935. simple_exp : simple_exp . PLUS simple_exp
  936. simple_exp : simple_exp . SUB simple_exp
  937. simple_exp : simple_exp . MUT simple_exp
  938. simple_exp : simple_exp . DIV simple_exp
  939. PLUS  shift 49
  940. SUB  shift 50
  941. MUT  shift 51
  942. DIV  shift 52
  943. LT  shift 53
  944. LE  shift 54
  945. GT  shift 55
  946. GE  shift 56
  947. EQ  shift 57
  948. NEQ  shift 58
  949. AND  shift 59
  950. .  reduce 53
  951. state 84
  952. fun_def : type_spec id fid LP params RP . comp_stmt
  953. fun_dec : type_spec id fid LP params RP . SEMI
  954. SEMI  shift 93
  955. LFP  shift 86
  956. comp_stmt  goto 94
  957. state 85
  958. fun_dec : id fid LP params RP SEMI .  (21)
  959. .  reduce 21
  960. state 86
  961. comp_stmt : LFP . local_dec stmt_list RFP
  962. local_dec : .  (32)
  963. .  reduce 32
  964. local_dec  goto 95
  965. state 87
  966. fun_def : id fid LP params RP comp_stmt .  (19)
  967. .  reduce 19
  968. state 88
  969. param_list : param_list COMMA param .  (24)
  970. .  reduce 24
  971. state 89
  972. param : type_spec id LSP . RSP
  973. param : type_spec id LSP . simple_exp RSP
  974. ID  shift 5
  975. NUM  shift 27
  976. FNUM  shift 28
  977. SCHAR  shift 29
  978. NOT  shift 30
  979. LP  shift 31
  980. RSP  shift 96
  981. var  goto 32
  982. simple_exp  goto 97
  983. factor  goto 34
  984. call  goto 35
  985. id  goto 36
  986. state 90
  987. exp : var ASSIGN exp .  (49)
  988. .  reduce 49
  989. state 91
  990. call : var LP args RP .  (73)
  991. .  reduce 73
  992. state 92
  993. arg_list : arg_list COMMA . exp
  994. ID  shift 5
  995. NUM  shift 27
  996. FNUM  shift 28
  997. SCHAR  shift 29
  998. NOT  shift 30
  999. LP  shift 31
  1000. exp  goto 98
  1001. var  goto 46
  1002. simple_exp  goto 47
  1003. factor  goto 34
  1004. call  goto 35
  1005. id  goto 36
  1006. state 93
  1007. fun_dec : type_spec id fid LP params RP SEMI .  (20)
  1008. .  reduce 20
  1009. state 94
  1010. fun_def : type_spec id fid LP params RP comp_stmt .  (18)
  1011. .  reduce 18
  1012. state 95
  1013. comp_stmt : LFP local_dec . stmt_list RFP
  1014. local_dec : local_dec . var_dec
  1015. stmt_list : .  (34)
  1016. INT  shift 1
  1017. CHAR  shift 2
  1018. FLOAT  shift 3
  1019. VOID  shift 4
  1020. .  reduce 34
  1021. var_dec  goto 99
  1022. stmt_list  goto 100
  1023. type_spec  goto 101
  1024. state 96
  1025. param : type_spec id LSP RSP .  (28)
  1026. .  reduce 28
  1027. state 97
  1028. param : type_spec id LSP simple_exp . RSP
  1029. simple_exp : simple_exp . OR simple_exp
  1030. simple_exp : simple_exp . AND simple_exp
  1031. simple_exp : simple_exp . LT simple_exp
  1032. simple_exp : simple_exp . LE simple_exp
  1033. simple_exp : simple_exp . GT simple_exp
  1034. simple_exp : simple_exp . GE simple_exp
  1035. simple_exp : simple_exp . EQ simple_exp
  1036. simple_exp : simple_exp . NEQ simple_exp
  1037. simple_exp : simple_exp . PLUS simple_exp
  1038. simple_exp : simple_exp . SUB simple_exp
  1039. simple_exp : simple_exp . MUT simple_exp
  1040. simple_exp : simple_exp . DIV simple_exp
  1041. PLUS  shift 49
  1042. SUB  shift 50
  1043. MUT  shift 51
  1044. DIV  shift 52
  1045. LT  shift 53
  1046. LE  shift 54
  1047. GT  shift 55
  1048. GE  shift 56
  1049. EQ  shift 57
  1050. NEQ  shift 58
  1051. AND  shift 59
  1052. OR  shift 60
  1053. RSP  shift 102
  1054. state 98
  1055. arg_list : arg_list COMMA exp .  (74)
  1056. .  reduce 74
  1057. state 99
  1058. local_dec : local_dec var_dec .  (31)
  1059. .  reduce 31
  1060. state 100
  1061. comp_stmt : LFP local_dec stmt_list . RFP
  1062. stmt_list : stmt_list . stmt
  1063. IF  shift 103
  1064. WHILE  shift 104
  1065. RETURN  shift 105
  1066. BREAK  shift 106
  1067. CONTINUE  shift 107
  1068. ID  shift 5
  1069. NUM  shift 27
  1070. FNUM  shift 28
  1071. SCHAR  shift 29
  1072. NOT  shift 30
  1073. SEMI  shift 108
  1074. LP  shift 31
  1075. LFP  shift 86
  1076. RFP  shift 109
  1077. comp_stmt  goto 110
  1078. stmt  goto 111
  1079. exp_stmt  goto 112
  1080. sele_stmt  goto 113
  1081. iter_stmt  goto 114
  1082. return_stmt  goto 115
  1083. exp  goto 116
  1084. var  goto 46
  1085. simple_exp  goto 47
  1086. factor  goto 34
  1087. call  goto 35
  1088. id  goto 36
  1089. state 101
  1090. var_dec : type_spec . id_list SEMI
  1091. ID  shift 5
  1092. var  goto 15
  1093. id_list  goto 16
  1094. id  goto 117
  1095. state 102
  1096. param : type_spec id LSP simple_exp RSP .  (29)
  1097. .  reduce 29
  1098. state 103
  1099. sele_stmt : IF . LP exp RP stmt
  1100. sele_stmt : IF . LP exp RP stmt ELSE stmt
  1101. LP  shift 118
  1102. state 104
  1103. iter_stmt : WHILE . LP exp RP stmt
  1104. LP  shift 119
  1105. state 105
  1106. return_stmt : RETURN . SEMI
  1107. return_stmt : RETURN . exp SEMI
  1108. ID  shift 5
  1109. NUM  shift 27
  1110. FNUM  shift 28
  1111. SCHAR  shift 29
  1112. NOT  shift 30
  1113. SEMI  shift 120
  1114. LP  shift 31
  1115. exp  goto 121
  1116. var  goto 46
  1117. simple_exp  goto 47
  1118. factor  goto 34
  1119. call  goto 35
  1120. id  goto 36
  1121. state 106
  1122. stmt : BREAK . SEMI
  1123. SEMI  shift 122
  1124. state 107
  1125. stmt : CONTINUE . SEMI
  1126. SEMI  shift 123
  1127. state 108
  1128. exp_stmt : SEMI .  (43)
  1129. .  reduce 43
  1130. state 109
  1131. comp_stmt : LFP local_dec stmt_list RFP .  (30)
  1132. .  reduce 30
  1133. state 110
  1134. stmt : comp_stmt .  (39)
  1135. .  reduce 39
  1136. state 111
  1137. stmt_list : stmt_list stmt .  (33)
  1138. .  reduce 33
  1139. state 112
  1140. stmt : exp_stmt .  (35)
  1141. .  reduce 35
  1142. state 113
  1143. stmt : sele_stmt .  (36)
  1144. .  reduce 36
  1145. state 114
  1146. stmt : iter_stmt .  (37)
  1147. .  reduce 37
  1148. state 115
  1149. stmt : return_stmt .  (38)
  1150. .  reduce 38
  1151. state 116
  1152. exp_stmt : exp . SEMI
  1153. SEMI  shift 124
  1154. state 117
  1155. id_list : id . ASSIGN simple_exp
  1156. var : id .  (51)
  1157. var : id . LSP simple_exp RSP
  1158. ASSIGN  shift 21
  1159. LSP  shift 22
  1160. .  reduce 51
  1161. state 118
  1162. sele_stmt : IF LP . exp RP stmt
  1163. sele_stmt : IF LP . exp RP stmt ELSE stmt
  1164. ID  shift 5
  1165. NUM  shift 27
  1166. FNUM  shift 28
  1167. SCHAR  shift 29
  1168. NOT  shift 30
  1169. LP  shift 31
  1170. exp  goto 125
  1171. var  goto 46
  1172. simple_exp  goto 47
  1173. factor  goto 34
  1174. call  goto 35
  1175. id  goto 36
  1176. state 119
  1177. iter_stmt : WHILE LP . exp RP stmt
  1178. ID  shift 5
  1179. NUM  shift 27
  1180. FNUM  shift 28
  1181. SCHAR  shift 29
  1182. NOT  shift 30
  1183. LP  shift 31
  1184. exp  goto 126
  1185. var  goto 46
  1186. simple_exp  goto 47
  1187. factor  goto 34
  1188. call  goto 35
  1189. id  goto 36
  1190. state 120
  1191. return_stmt : RETURN SEMI .  (47)
  1192. .  reduce 47
  1193. state 121
  1194. return_stmt : RETURN exp . SEMI
  1195. SEMI  shift 127
  1196. state 122
  1197. stmt : BREAK SEMI .  (41)
  1198. .  reduce 41
  1199. state 123
  1200. stmt : CONTINUE SEMI .  (40)
  1201. .  reduce 40
  1202. state 124
  1203. exp_stmt : exp SEMI .  (42)
  1204. .  reduce 42
  1205. state 125
  1206. sele_stmt : IF LP exp . RP stmt
  1207. sele_stmt : IF LP exp . RP stmt ELSE stmt
  1208. RP  shift 128
  1209. state 126
  1210. iter_stmt : WHILE LP exp . RP stmt
  1211. RP  shift 129
  1212. state 127
  1213. return_stmt : RETURN exp SEMI .  (48)
  1214. .  reduce 48
  1215. state 128
  1216. sele_stmt : IF LP exp RP . stmt
  1217. sele_stmt : IF LP exp RP . stmt ELSE stmt
  1218. IF  shift 103
  1219. WHILE  shift 104
  1220. RETURN  shift 105
  1221. BREAK  shift 106
  1222. CONTINUE  shift 107
  1223. ID  shift 5
  1224. NUM  shift 27
  1225. FNUM  shift 28
  1226. SCHAR  shift 29
  1227. NOT  shift 30
  1228. SEMI  shift 108
  1229. LP  shift 31
  1230. LFP  shift 86
  1231. comp_stmt  goto 110
  1232. stmt  goto 130
  1233. exp_stmt  goto 112
  1234. sele_stmt  goto 113
  1235. iter_stmt  goto 114
  1236. return_stmt  goto 115
  1237. exp  goto 116
  1238. var  goto 46
  1239. simple_exp  goto 47
  1240. factor  goto 34
  1241. call  goto 35
  1242. id  goto 36
  1243. state 129
  1244. iter_stmt : WHILE LP exp RP . stmt
  1245. IF  shift 103
  1246. WHILE  shift 104
  1247. RETURN  shift 105
  1248. BREAK  shift 106
  1249. CONTINUE  shift 107
  1250. ID  shift 5
  1251. NUM  shift 27
  1252. FNUM  shift 28
  1253. SCHAR  shift 29
  1254. NOT  shift 30
  1255. SEMI  shift 108
  1256. LP  shift 31
  1257. LFP  shift 86
  1258. comp_stmt  goto 110
  1259. stmt  goto 131
  1260. exp_stmt  goto 112
  1261. sele_stmt  goto 113
  1262. iter_stmt  goto 114
  1263. return_stmt  goto 115
  1264. exp  goto 116
  1265. var  goto 46
  1266. simple_exp  goto 47
  1267. factor  goto 34
  1268. call  goto 35
  1269. id  goto 36
  1270. state 130
  1271. sele_stmt : IF LP exp RP stmt .  (44)
  1272. sele_stmt : IF LP exp RP stmt . ELSE stmt
  1273. ELSE  shift 132
  1274. .  reduce 44
  1275. state 131
  1276. iter_stmt : WHILE LP exp RP stmt .  (46)
  1277. .  reduce 46
  1278. state 132
  1279. sele_stmt : IF LP exp RP stmt ELSE . stmt
  1280. IF  shift 103
  1281. WHILE  shift 104
  1282. RETURN  shift 105
  1283. BREAK  shift 106
  1284. CONTINUE  shift 107
  1285. ID  shift 5
  1286. NUM  shift 27
  1287. FNUM  shift 28
  1288. SCHAR  shift 29
  1289. NOT  shift 30
  1290. SEMI  shift 108
  1291. LP  shift 31
  1292. LFP  shift 86
  1293. comp_stmt  goto 110
  1294. stmt  goto 133
  1295. exp_stmt  goto 112
  1296. sele_stmt  goto 113
  1297. iter_stmt  goto 114
  1298. return_stmt  goto 115
  1299. exp  goto 116
  1300. var  goto 46
  1301. simple_exp  goto 47
  1302. factor  goto 34
  1303. call  goto 35
  1304. id  goto 36
  1305. state 133
  1306. sele_stmt : IF LP exp RP stmt ELSE stmt .  (45)
  1307. .  reduce 45
  1308. ##############################################################################
  1309. # Summary
  1310. ##############################################################################
  1311. 38 token(s), 29 nonterminal(s)
  1312. 78 grammar rule(s), 134 state(s)
  1313. ##############################################################################
  1314. # End of File
  1315. ##############################################################################