EnglishFrenchSpanish

Ad


OnWorks favicon

yaccplan9 - Online in the Cloud

Run yaccplan9 in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command yaccplan9 that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


yacc - yet another compiler-compiler

SYNOPSIS


yacc [ option ... ] grammar

DESCRIPTION


Yacc converts a context-free grammar and translation code into a set of tables for an
LR(1) parser and translator. The grammar may be ambiguous; specified precedence rules are
used to break ambiguities.

The output file, y.tab.c, must be compiled by the C compiler to produce a program This
program must be loaded with a lexical analyzer function, yylex(void) (often generated by
lex(1)), with a main(int argc, char *argv[]) program, and with an error handling routine,
yyerror(char*).

The options are

-o output Direct output to the specified file instead of y.tab.c.

-Dn Create file y.debug, containing diagnostic messages. To incorporate them in
the parser, compile it with preprocessor symbol yydebug defined. The amount of
diagnostic output from the parser is regulated by value n. The value 0 reports
errors; 1 reports reductions; higher values (up to 4) include more information
about state transitions.

-v Create file y.output, containing a description of the parsing tables and of
conflicts arising from ambiguities in the grammar.

-d Create file y.tab.h, containing #define statements that associate yacc-assigned
`token codes' with user-declared `token names'. Include it in source files
other than y.tab.c to give access to the token codes.

-s stem Change the prefix of the file names y.tab.c, y.tab.h, y.debug, and y.output to
stem.

-S Write a parser that uses Stdio instead of the print routines in libc.

-l Disable #line directives in the generated parser.

-a Generate a parser that takes an argument of type Yyarg and passes this argument
to each invocation of the lexer function, yylex. Yyarg contains per-instance
state and a single user-visible member, arg, of type void*.

The specification of yacc itself is essentially the same as the UNIX version described in
the references mentioned below. Besides the -D option, the main relevant differences are:

The interface to the C environment is by default through <libc.h> rather than
<stdio.h>; the -S option reverses this.

The parser accepts UTF input text (see utf(7)), which has a couple of effects.
First, the return value of yylex() no longer fits in a short; second, the starting
value for non-terminals is now 0xE000 rather than 257.

The generated parser can be recursive: actions can call yyparse, for example to
implement a sort of #include statement in an interpreter.

Finally, some undocumented inner workings of the parser have been changed, which
may affect programs that know too much about its structure.

Use yaccplan9 online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Asuswrt-Merlin
    Asuswrt-Merlin
    Asuswrt-Merlin is a third party
    firmware for select Asus wireless
    routers. Based on the Asuswrt firmware
    developed by Asus, it brings tweaks, new
    features and ...
    Download Asuswrt-Merlin
  • 2
    Atom
    Atom
    Atom is a text editor that's
    modern, approachable and full-featured.
    It's also easily customizable- you
    can customize it to do anything and be
    able to ...
    Download Atom
  • 3
    Osu!
    Osu!
    Osu! is a simple rhythm game with a well
    thought out learning curve for players
    of all skill levels. One of the great
    aspects of Osu! is that it is
    community-dr...
    Download Osu!
  • 4
    LIBPNG: PNG reference library
    LIBPNG: PNG reference library
    Reference library for supporting the
    Portable Network Graphics (PNG) format.
    Audience: Developers. Programming
    Language: C. This is an application that
    can also...
    Download LIBPNG: PNG reference library
  • 5
    Metal detector based on  RP2040
    Metal detector based on RP2040
    Based on Raspberry Pi Pico board, this
    metal detector is included in pulse
    induction metal detectors category, with
    well known advantages and disadvantages.
    RP...
    Download Metal detector based on RP2040
  • 6
    PAC Manager
    PAC Manager
    PAC is a Perl/GTK replacement for
    SecureCRT/Putty/etc (linux
    ssh/telnet/... gui)... It provides a GUI
    to configure connections: users,
    passwords, EXPECT regula...
    Download PAC Manager
  • More »

Linux commands

  • 1
    4ti2-output
    4ti2-output
    4ti2 - software package for algebraic,
    geometric and combinatorial problems on
    linear spaces ...
    Run 4ti2-output
  • 2
    4ti2-ppi
    4ti2-ppi
    4ti2 - software package for algebraic,
    geometric and combinatorial problems on
    linear spaces ...
    Run 4ti2-ppi
  • 3
    convertToAtac
    convertToAtac
    sim4dbutils - utilities to work with
    sim4db-generated alignment files
    convertPolishes - convert between sim4db
    and GFF3 formats filterPolishes - filter
    alignme...
    Run convertToAtac
  • 4
    convertToExtent
    convertToExtent
    sim4dbutils - utilities to work with
    sim4db-generated alignment files
    convertPolishes - convert between sim4db
    and GFF3 formats filterPolishes - filter
    alignme...
    Run convertToExtent
  • 5
    fweelin
    fweelin
    freewheeling � live looping musical
    instrument ...
    Run fweelin
  • 6
    fwexec
    fwexec
    fwexec - program to upload and rexecute
    image file to a connected NXT device ...
    Run fwexec
  • More »

Ad