https://github.com/bomberus/compilerbau
lr-parser
https://github.com/bomberus/compilerbau
Last synced: 4 months ago
JSON representation
lr-parser
- Host: GitHub
- URL: https://github.com/bomberus/compilerbau
- Owner: Bomberus
- Created: 2016-06-08T22:10:56.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-06-08T22:16:28.000Z (about 10 years ago)
- Last Synced: 2025-09-03T02:26:53.997Z (10 months ago)
- Language: Makefile
- Size: 3.91 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
###############################################################################
# Project: COCKTAIL training
# Descr: LR parser for an expression language
# Kind: README
# Author: Dr. Juergen Vollmer
# $Id: README,v 1.3 2007/06/03 16:52:55 vollmer Exp $
###############################################################################
This directory describes the implementation of an LR parser for
arithmetic expressions.
The files:
expr.pars The parser specification (stub)
expr.scan The scanner specification
main.c C-main program
lr-parser The executable to be produced
test* Some test sources
Makefile
README
expr-solution.pars
Exercises:
Extend the file expr.pars (and expr.scan):
- Add other arithmetic (binary - / **, unary + and -) operations.
Think about accosiactivity and operator preceedence.
- Add identifiers as part of an expression to your grammer
extend the scanner.
- Add comma separated list of expressions. The list may be empty.
'expr_l' (expression list) should be the new grammar root symbol.
- Rewrite your grammar, so that precedences are used
- Add C-style statements (e.g. assignment, if, while and statement lists)
to your grammar. 'stmt' should be the new root symbol of your grammar
- Add those statements using Modula-style syntax.
- Add more test sources to test your grammar