Конструирование моделей лексического и синтаксического анализа

Характеристика процесса конструирования модели синтаксического анализа. Описание предметной области. Регулярная грамматика для лексического анализа. КС-грамматика. Нисходящий синтаксический анализатор. Логическое проектирование. Проектирование интерфейса.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 04.11.2018
Размер файла 252,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

529. }

530. break;

531. case 9:

532. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

533. else {

534. if (num_tex[j] == 's') { num_si = 10; token += Convert.ToString(num_tex[j]); }

535. else

536. {

537. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

538. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

539. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

540. }

541. }

542. break;

543. case 10:

544. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

545. else {

546. if (num_tex[j] == 't') { num_si = 11; token += Convert.ToString(num_tex[j]); }

547. else

548. {

549. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

550. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

551. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

552. }

553. }

554. break;

555. case 11:

556. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

557. else {

558. if (num_tex[j] == 'r') { num_si = 12; token += Convert.ToString(num_tex[j]); }

559. else

560. {

561. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

562. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

563. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

564. }

565. }

566. break;

567. case 12:

568. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

569. else {

570. if (num_tex[j] == 'e') { num_si = 13; token += Convert.ToString(num_tex[j]); }

571. else

572. {

573. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

574. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

575. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

576. }

577. }

578. break;

579. case 13:

580. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

581. else {

582. if (num_tex[j] == 'a') { num_si = 14; token += Convert.ToString(num_tex[j]); }

583. else

584. {

585. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

586. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

587. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

588. }

589. }

590. break;

591. case 14:

592. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

593. else {

594. if (num_tex[j] == 'm') { num_si = 15; token += Convert.ToString(num_tex[j]); }

595. else

596. {

597. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

598. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

599. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

600. }

601. }

602. break;

603. case 15:

604. if (num_tex[j] == ' ' || num_tex[j] == '\n')

605. {

606. add_key(token, ref v_k); token = null; num_si = 0;

607. }

608. else

609. {

610. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

611. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

612. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

613. }

614. break;

615. case 16:

616. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

617. else {

618. if (num_tex[j] == 'a') { num_si = 17; token += Convert.ToString(num_tex[j]); }

619. else

620. {

621. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

622. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

623. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

624. }

625. }

626. break;

627. case 17:

628. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

629. else {

630. if (num_tex[j] == 'i') { num_si = 18; token += Convert.ToString(num_tex[j]); }

631. else

632. {

633. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

634. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

635. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

636. }

637. }

638. break;

639. case 18:

640. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

641. else {

642. if (num_tex[j] == 'n') { num_si = 19; token += Convert.ToString(num_tex[j]); }

643. else

644. {

645. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

646. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

647. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

648. }

649. }

650. break;

651. case 19:

652. if (num_tex[j] == ' ' || num_tex[j] == '\n')

653. {

654. add_key(token, ref v_k); token = null; num_si = 0;

655. }

656. else

657. {

658. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

659. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

660. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

661. }

662. break;

663. case 20:

664. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

665. else {

666. if (num_tex[j] == 'l') { num_si = 21; token += Convert.ToString(num_tex[j]); }

667. else

668. {

669. if (num_tex[j] == 'o') { num_si = 46; token += Convert.ToString(num_tex[j]); }

670. else

671. {

672. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

673. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

674. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

675. }

676. }

677. }

678. break;

679. case 21:

680. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

681. else {

682. if (num_tex[j] == 'o') { num_si = 22; token += Convert.ToString(num_tex[j]); }

683. else

684. {

685. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

686. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

687. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

688. }

689. }

690. break;

691. case 22:

692. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

693. else {

694. if (num_tex[j] == 'a') { num_si = 23; token += Convert.ToString(num_tex[j]); }

695. else

696. {

697. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

698. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

699. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

700. }

701. }

702. break;

703. case 23:

704. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

705. else {

706. if (num_tex[j] == 't') { num_si = 24; token += Convert.ToString(num_tex[j]); }

707. else

708. {

709. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

710. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

711. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

712. }

713. }

714. break;

715. case 24:

716. if (num_tex[j] == ' ' || num_tex[j] == '\n')

717. {

718. add_key(token, ref v_k); token = null; num_si = 0;

719. }

720. else

721. {

722. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

723. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

724. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

725. }

726. break;

727. case 25:

728. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

729. else {

730. if (num_tex[j] == 'o') { num_si = 26; token += Convert.ToString(num_tex[j]); }

731. else

732. {

733. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

734. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

735. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

736. }

737. }

738. break;

739. case 26:

740. if (num_tex[j] == ' ' || num_tex[j] == '\n')

741. {

742. add_key(token, ref v_k); token = null; num_si = 0;

743. }

744. else

745. {

746. if (num_tex[j] == 'u') { num_si = 27; token += Convert.ToString(num_tex[j]); }

747. else

748. {

749. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

750. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

751. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

752. }

753. }

754. break;

755. case 27:

756. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

757. else {

758. if (num_tex[j] == 'b') { num_si = 28; token += Convert.ToString(num_tex[j]); }

759. else

760. {

761. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

762. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

763. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

764. }

765. }

766. break;

767. case 28:

768. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

769. else {

770. if (num_tex[j] == 'l') { num_si = 29; token += Convert.ToString(num_tex[j]); }

771. else

772. {

773. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

774. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

775. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

776. }

777. }

778. break;

779. case 29:

780. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

781. else {

782. if (num_tex[j] == 'e') { num_si = 30; token += Convert.ToString(num_tex[j]); }

783. else

784. {

785. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

786. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

787. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

788. }

789. }

790. break;

791. case 30:

792. if (num_tex[j] == ' ' || num_tex[j] == '\n')

793. {

794. add_key(token, ref v_k); token = null; num_si = 0;

795. }

796. else

797. {

798. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

799. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

800. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

801. }

802. break;

803. case 31:

804. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

805. else {

806. if (num_tex[j] == 'h') { num_si = 32; token += Convert.ToString(num_tex[j]); }

807. else

808. {

809. if (num_tex[j] == 'i') { num_si = 35; token += Convert.ToString(num_tex[j]); }

810. else

811. {

812. if (num_tex[j] == 'o') { num_si = 37; token += Convert.ToString(num_tex[j]); }

813. else

814. {

815. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

816. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

817. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

818. }

819. }

820. }

821. }

822. break;

823. case 32:

824. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

825. else {

826. if (num_tex[j] == 'a') { num_si = 33; token += Convert.ToString(num_tex[j]); }

827. else

828. {

829. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

830. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

831. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

832. }

833. }

834. break;

835. case 33:

836. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

837. else {

838. if (num_tex[j] == 'r') { num_si = 34; token += Convert.ToString(num_tex[j]); }

839. else

840. {

841. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

842. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

843. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

844. }

845. }

846. break;

847. case 34:

848. if (num_tex[j] == ' ' || num_tex[j] == '\n')

849. {

850. add_key(token, ref v_k); token = null; num_si = 0;

851. }

852. else

853. {

854. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

855. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

856. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

857. }

858. break;

859. case 35:

860. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

861. else {

862. if (num_tex[j] == 'n') { num_si = 36; token += Convert.ToString(num_tex[j]); }

863. else

864. {

865. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

866. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

867. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

868. }

869. }

870. break;

871. case 36:

872. if (num_tex[j] == ' ' || num_tex[j] == '\n')

873. {

874. add_key(token, ref v_k); token = null; num_si = 0;

875. }

876. else

877. {

878. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

879. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

880. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

881. }

882. break;

883. case 37:

884. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

885. else {

886. if (num_tex[j] == 'u') { num_si = 38; token += Convert.ToString(num_tex[j]); }

887. else

888. {

889. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

890. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

891. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

892. }

893. }

894. break;

895. case 38:

896. if (num_tex[j] == ' ' | num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

897. else {

898. if (num_tex[j] == 't') { num_si = 39; token += Convert.ToString(num_tex[j]); }

899. else

900. {

901. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

902. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

903. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

904. }

905. }

906. break;

907. case 39:

908. if (num_tex[j] == ' ' || num_tex[j] == '\n')

909. {

910. add_key(token, ref v_k); token = null; num_si = 0;

911. }

912. else

913. {

914. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

915. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

916. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

917. }

918. break;

919. case 40:

920. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

921. else {

922. if (num_tex[j] == 'h') { num_si = 41; token += Convert.ToString(num_tex[j]); }

923. else

924. {

925. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

926. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

927. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

928. }

929. }

930. break;

931. case 41:

932. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

933. else {

934. if (num_tex[j] == 'i') { num_si = 42; token += Convert.ToString(num_tex[j]); }

935. else

936. {

937. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

938. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

939. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

940. }

941. }

942. break;

943. case 42:

944. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

945. else {

946. if (num_tex[j] == 'l') { num_si = 43; token += Convert.ToString(num_tex[j]); }

947. else

948. {

949. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

950. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

951. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

952. }

953. }

954. break;

955. case 43:

956. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

957. else {

958. if (num_tex[j] == 'e') { num_si = 44; token += Convert.ToString(num_tex[j]); }

959. else

960. {

961. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

962. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

963. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

964. }

965. }

966. break;

967. case 44:

968. if (num_tex[j] == ' ' || num_tex[j] == '\n')

969. {

970. add_key(token, ref v_k); token = null; num_si = 0;

971. }

972. else

973. {

974. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

975. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

976. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

977. }

978. break;

979. case 46:

980. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

981. else {

982. if (num_tex[j] == 'r') { num_si = 47; token += Convert.ToString(num_tex[j]); }

983. else

984. {

985. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

986. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

987. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

988. }

989. }

990. break;

991. case 47:

992. if (num_tex[j] == ' ' || num_tex[j] == '\n')

993. {

994. add_key(token, ref v_k); token = null; num_si = 0;

995. }

996. else

997. {

998. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

999. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

1000. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1001. }

1002. break;

1003. case 48:

1004. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1005. else {

1006. if (num_tex[j] == 't') { num_si = 49; token += Convert.ToString(num_tex[j]); }

1007. else

1008. {

1009. if (num_tex[j] == 'p') { num_si = 51; token += Convert.ToString(num_tex[j]); }

1010. else

1011. {

1012. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1013. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1014. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1015. }

1016. }

1017. }

1018. break;

1019. case 49:

1020. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1021. else {

1022. if (num_tex[j] == 'd') { num_si = 50; token += Convert.ToString(num_tex[j]); }

1023. else

1024. {

1025. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1026. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1027. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1028. }

1029. }

1030. break;

1031. case 50:

1032. if (num_tex[j] == ' ' || num_tex[j] == '\n')

1033. {

1034. add_key(token, ref v_k); token = null; num_si = 0;

1035. }

1036. else

1037. {

1038. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1039. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

1040. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1041. }

1042. break;

1043. case 51:

1044. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1045. else {

1046. if (num_tex[j] == 'a') { num_si = 52; token += Convert.ToString(num_tex[j]); }

1047. else

1048. {

1049. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1050. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1051. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1052. }

1053. }

1054. break;

1055. case 52:

1056. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1057. else

1058. {

1059. if (num_tex[j] == 'c') { num_si = 53; token += Convert.ToString(num_tex[j]); }

1060. else

1061. {

1062. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1063. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1064. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1065. }

1066. }

1067. break;

1068. case 53:

1069. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1070. else {

1071. if (num_tex[j] == 'e') { num_si = 54; token += Convert.ToString(num_tex[j]); }

1072. else

1073. {

1074. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1075. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1076. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1077. }

1078. }

1079. break;

1080. case 54:

1081. if (num_tex[j] == ' ' || num_tex[j] == '\n')

1082. {

1083. add_key(token, ref v_k); token = null; num_si = 0;

1084. }

1085. else

1086. {

1087. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1088. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

1089. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1090. }

1091. break;

1092. case 55:

1093. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1094. else {

1095. if (num_tex[j] == 'e') { num_si = 56; token += Convert.ToString(num_tex[j]); }

1096. else

1097. {

1098. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1099. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1100. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1101. }

1102. }

1103. break;

1104. case 56:

1105. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1106. else {

1107. if (num_tex[j] == 'е') { num_si = 57; token += Convert.ToString(num_tex[j]); }

1108. else

1109. {

1110. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1111. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1112. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1113. }

1114. }

1115. break;

1116. case 57:

1117. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1118. else {

1119. if (num_tex[j] == 'u') { num_si = 58; token += Convert.ToString(num_tex[j]); }

1120. else

1121. {

1122. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1123. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1124. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1125. }

1126. }

1127. break;

1128. case 58:

1129. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1130. else {

1131. if (num_tex[j] == 'r') { num_si = 59; token += Convert.ToString(num_tex[j]); }

1132. else

1133. {

1134. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1135. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1136. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1137. }

1138. }

1139. break;

1140. case 59:

1141. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1142. else {

1143. if (num_tex[j] == 'n') { num_si = 60; token += Convert.ToString(num_tex[j]); }

1144. else

1145. {

1146. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1147. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1148. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1149. }

1150. }

1151. break;

1152. case 60:

1153. if (num_tex[j] == ' ' || num_tex[j] == '\n')

1154. {

1155. add_key(token, ref v_k); token = null; num_si = 0;

1156. }

1157. else

1158. {

1159. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1160. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

1161. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1162. }

1163. break;

1164. case 61:

1165. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1166. else {

1167. if (num_tex[j] == 's') { num_si = 62; token += Convert.ToString(num_tex[j]); }

1168. else

1169. {

1170. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1171. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1172. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1173. }

1174. }

1175. break;

1176. case 62:

1177. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1178. else {

1179. if (num_tex[j] == 'i') { num_si = 63; token += Convert.ToString(num_tex[j]); }

1180. else

1181. {

1182. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1183. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1184. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1185. }

1186. }

1187. break;

1188. case 63:

1189. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1190. else {

1191. if (num_tex[j] == 'n') { num_si = 64; token += Convert.ToString(num_tex[j]); }

1192. else

1193. {

1194. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1195. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1196. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1197. }

1198. }

1199. break;

1200. case 64:

1201. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1202. else {

1203. if (num_tex[j] == 'g') { num_si = 65; token += Convert.ToString(num_tex[j]); }

1204. else

1205. {

1206. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1207. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1208. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1209. }

1210. }

1211. break;

1212. case 65:

1213. if (num_tex[j] == ' ' || num_tex[j] == '\n')

1214. {

1215. add_key(token, ref v_k); token = null; num_si = 0;

1216. }

1217. else

1218. {

1219. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1220. else if (f_synt(num_tex[j])) { add_key(token, ref v_k); token = null; num_si = 0; j-; }

1221. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1222. }

1223. break;

1224. case 66:

1225. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1226. else {

1227. if (num_tex[j] == 'a') { num_si = 67; token += Convert.ToString(num_tex[j]); }

1228. else

1229. {

1230. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1231. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1232. else { num_si = 85; token += Convert.ToString(num_tex[i]); }

1233. }

1234. }

1235. break;

1236. case 67:

1237. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1238. else {

1239. if (num_tex[j] == 'm') { num_si = 68; token += Convert.ToString(num_tex[j]); }

1240. else

1241. {

1242. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1243. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1244. else { num_si = 85; token += Convert.ToString(num_tex[i]); }

1245. }

1246. }

1247. break;

1248. case 68:

1249. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1250. else {

1251. if (num_tex[j] == 'e') { num_si = 0; token += Convert.ToString(num_tex[j]); }

1252. else

1253. {

1254. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1255. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1256. else { num_si = 85; token += Convert.ToString(num_tex[i]); }

1257. }

1258. }

1259. break;

1260. case 69:

1261. if (num_tex[j] == ' ' || num_tex[j] == '\n')

1262. {

1263. add_key(token, ref v_k); token = null; num_si = 0;

1264. }

1265. else

1266. {

1267. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1268. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1269. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1270. }

1271. break;

1272. case 70:

1273. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_synt(token, ref v_sy); token = null; num_si = 0; }

1274. else

1275. {

1276. if (!alf(num_tex[j])) { add_synt(token, ref v_sy); token = null; num_si = 0; j-; }

1277. else

1278. {

1279. if (numb(num_tex[j])) { add_synt(token, ref v_sy); token = null; num_si = 0; j-; }

1280. else

1281. {

1282. if (f_synt(num_tex[j])) { add_synt(token, ref v_sy); token = null; num_si = 0; j-; }

1283. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1284. }

1285. }

1286. }

1287. break;

1288. case 71:

1289. if (num_tex[j] == ' ' || num_tex[j] == '\n')

1290. {

1291. add_nu(token, ref v_nu); token = null; num_si = 0;

1292. }

1293. else

1294. {

1295. if (numb(num_tex[j])) { num_si = 71; token += Convert.ToString(num_tex[j]); }

1296. else

1297. {

1298. if (num_tex[j] == '.') { num_si = 73; token += Convert.ToString(num_tex[j]); }

1299. else

1300. {

1301. if (num_tex[j] == 'e' || num_tex[j] == 'E') { num_si = 74; token += Convert.ToString(num_tex[j]); }

1302. else

1303. {

1304. if (!alf(num_tex[j])) { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1305. else

1306. {

1307. if (f_synt(num_tex[j])) { add_nu(token, ref v_nu); token = null; num_si = 0; j-; }

1308. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1309. }

1310. }

1311. }

1312. }

1313. }

1314. break;

1315. case 72:

1316. if (num_tex[j] == ' ' || num_tex[j] == '\n') { num_si = 78; token += Convert.ToString(num_tex[j]); }

1317. else

1318. {

1319. if (numb(num_tex[j]) ) { num_si = 71; token += Convert.ToString(num_tex[j]); }

1320. else

1321. {

1322. if (num_tex[j] == '=' || num_tex[j] == '-') { num_si = 78; token += Convert.ToString(num_tex[j]); }

1323. else

1324. {

1325. add_unId(num_tex, ref j, i); token = null; num_si = 0;

1326. }

1327. }

1328. }

1329. break;

1330. case 73:

1331. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1332. else

1333. {

1334. if (numb(num_tex[j])) { num_si = 76; token += Convert.ToString(num_tex[j]); }

1335. else

1336. {

1337. add_unId(num_tex, ref j, i); token = null; num_si = 0;

1338. }

1339. }

1340. break;

1341. case 74:

1342. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1343. else

1344. {

1345. if (num_tex[j] == '+' || num_tex[j] == '-') { num_si = 73; token += Convert.ToString(num_tex[j]); }

1346. else

1347. { add_unId(num_tex, ref j, i); token = null; num_si = 0;

1348. }

1349. }

1350. break;

1351. case 76:

1352. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_nu(token, ref v_nu); token = null; num_si = 0; }

1353. else

1354. {

1355. if (numb(num_tex[j])) { num_si = 76; token += Convert.ToString(num_tex[j]); }

1356. else

1357. {if (f_synt(num_tex[j])) { add_nu(token, ref v_nu); token = null; num_si = 0; j-; }

1358. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1359. }

1360. }

1361. break;

1362. case 77:

1363. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1364. else

1365. {

1366. if (num_tex[j]=='+') { num_si = 78; token += Convert.ToString(num_tex[j]); }

1367. else

1368. {if (num_tex[j] == '=') { num_si = 78; token += Convert.ToString(num_tex[j]); }

1369. else

1370. {

1371. if (f_synt(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; num_si = 0; j-; }

1372. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1373. }

1374. }

1375. }

1376. break;

1377. case 78:

1378. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_op(token, ref v_op); token = null; num_si = 0; }

1379. else if (!alf(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }

1380. else if (numb(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }

1381. else if (f_synt(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }

1382. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1383. break;

1384. case 79:

1385. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_op(token, ref v_op); token = null; num_si = 0; }

1386. else

1387. {

1388. if (num_tex[j] == '=') { num_si = 82; token += Convert.ToString(num_tex[j]); }

1389. else if (!alf(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }

1390. else if (numb(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }

1391. else if (f_synt(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }

1392. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1393. }

1394. break;

1395. case 80:

1396. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_op(token, ref v_op); token = null; num_si = 0; }

1397. else

1398. {

1399. if (num_tex[j] == '=') { num_si = 82; token += Convert.ToString(num_tex[j]); }

1400. else if (!alf(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }

1401. else if (numb(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }

1402. else if (f_synt(num_tex[j])) { add_op(token, ref v_op); token = null; num_si = 0; j-; }

1403. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1404. }

1405. break;

1406. case 82:

1407. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_cond(token, ref v_con); token = null; num_si = 0; }

1408. else

1409. if (!alf(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }

1410. else if (numb(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }

1411. else if (f_synt(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }

1412. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1413. break;

1414. case 83:

1415. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_cond(token, ref v_con); token = null; num_si = 0; }

1416. else

1417. {

1418. if (num_tex[j] == '<') { num_si = 78; token += Convert.ToString(num_tex[j]); }

1419. else

1420. {

1421. if (num_tex[j] == '=') { num_si = 82; token += Convert.ToString(num_tex[j]); }

1422. else if (numb(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }

1423. else if (f_synt(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }

1424. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1425. }

1426. }

1427. break;

1428. case 84:

1429. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_cond(token, ref v_con); token = null; num_si = 0; }

1430. else

1431. {

1432. if (num_tex[j] == '>') { num_si = 78; token += Convert.ToString(num_tex[j]); }

1433. else

1434. {

1435. if (num_tex[j] == '=') { num_si = 82; token += Convert.ToString(num_tex[j]); }

1436. else if (numb(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }

1437. else if (f_synt(num_tex[j])) { add_cond(token, ref v_con); token = null; num_si = 0; j-; }

1438. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1439. }

1440. }

1441. break;

1442. case 85:

1443. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1444. else

1445. {

1446. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1447. else

1448. { if (!alf(num_tex[j])){ num_si = 85; token += Convert.ToString(num_tex[j]); }

1449. else

1450. {

1451. if (numb(num_tex[j])) { num_si = 85; token += Convert.ToString(num_tex[j]); }

1452. else

1453. {

1454. if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1455. else { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1456. }

1457. }

1458. }

1459. }

1460. break;

1461. case 86:

1462. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1463. else

1464. {

1465. if (num_tex[j] == 'o') { num_si = 87; token += Convert.ToString(num_tex[j]); }

1466. else

1467. {

1468. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1469. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1470. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1471. }

1472. }

1473. break;

1474. case 87:

1475. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1476. else

1477. {

1478. if (num_tex[j] == 'i') { num_si = 88; token += Convert.ToString(num_tex[j]); }

1479. else

1480. {

1481. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1482. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1483. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1484. }

1485. }

1486. break;

1487. case 88:

1488. if (num_tex[j] == ' ' || num_tex[j] == '\n') { add_ident(token, ref v_id); token = null; num_si = 0; }

1489. else

1490. {

1491. if (num_tex[j] == 'd') { num_si =54; token += Convert.ToString(num_tex[j]); }

1492. else

1493. {

1494. if (num_tex[j] == '.') { add_unId(num_tex, ref j, i); token = null; num_si = 0; }

1495. else if (f_synt(num_tex[j])) { add_ident(token, ref v_id); token = null; num_si = 0; j-; }

1496. else { num_si = 85; token += Convert.ToString(num_tex[j]); }

1497. }

1498. }

1499. break;

1500. }}num_si = 0; }}}

Приложение 3

Руководство пользователя

Общие сведения о программе

Программа на C#, моделирует работу компилятора для оператора do-while и for.

Инструкция по работе

Для того что-бы запустить программу вставте диск в дисковод.

Двараза кликните по LEX_AN.exe.

После запуска вы увидите интерфейс программы. (Рис.1)

синтаксический грамматика интерфейс анализатор

Рис. 1 Интерфейс программы

Ввод текста программы производится в соответствующее поле. После нажатия на кнопку “Обработка” программа удаляет коментарии и лишние пробелы, результат записывается в соответствующее поле. При нажатии на “Анализ” программа выделяет лексемы и выводит дескрипторный код и псевдокод в соответствующие поля, так же в соответсвующем поле отображается ошибка. При нажатии на “Сброс” программа перейдет в начальное состояние. При нажатии “Пример кода” программа выведет пример для обработки и анализа.

Размещено на Allbest.ru


Подобные документы

  • Разработка технического задания на проектирование, определение требований к программе. Предварительный выбор метода решения синтаксического анализатора, проектирование программного приложения, конфигурация технических средств программы и её тестирование.

    курсовая работа [28,5 K], добавлен 28.06.2011

  • Структура, классификация и требования к реализации компилятора. Проектирование и реализация анализирующей части компилятора языка С++. Способы реализации лексического анализа. Алгоритм работы синтаксического анализатора. Принципы программной реализации.

    курсовая работа [774,2 K], добавлен 26.01.2013

  • Проектирование программы-анализатора, состоящей из двух частей: лексического анализатора, разбивающего исходный текст программы на лексемы и заполняющего таблицу имен; синтаксического анализатора, проверяющего соответствие текста заданной грамматике.

    курсовая работа [2,0 M], добавлен 14.06.2010

  • Решение задач синтаксического анализа простой программы. Алгоритм нахождения синтаксических ошибок в ее тексте. Вывод данных о местоположении ошибки. Проектирование программы анализа арифметического выражения и методы проверки его на сумму или разность.

    курсовая работа [2,6 M], добавлен 01.07.2011

  • Понятие синтаксического анализа. Программный продукт для обработки данных строкового типа. Построение сканера текстов с использованием утилиты flex, синтаксического анализатора с помощью утилиты bison. Грамматика языка программирования обработки строк.

    курсовая работа [261,7 K], добавлен 29.10.2012

  • Разработка анализирующей части компилятора для выполнения проверки исходной программы на соответствие грамматике языка, правилам семантики и построения внутреннего представления. Описание анализаторов: лексического, синтаксического и семантического.

    контрольная работа [704,9 K], добавлен 01.02.2013

  • Место компилятора в программном обеспечении. Принципы работы и автоматизация построения синтаксического анализатора. Дерево разбора и его преобразование в дерево операций. Назначение и этапы семантического анализа. Идентификация языков программирования.

    реферат [265,1 K], добавлен 20.12.2007

  • Организация таблицы идентификаторов, ее содержание и назначение. Метод бинарного дерева и цепочек. Проектирование лексического анализатора и схема распознавателя. Построение дерева вывода, синтаксический анализатор. Анализ результатов работы программы.

    курсовая работа [1,0 M], добавлен 25.12.2014

  • Проектирование лексического и синтаксического анализаторов учебного языка. Правила преобразования логических выражений в ПОЛИЗ. Формирование триад, оптимизация их списка. Логическая структура программы. Тестирование модулей транслятора-интерпретатора.

    курсовая работа [1,3 M], добавлен 28.05.2013

  • Входная грамматика в структурированной форме. Функции переходов символьного преобразователя. Работа лексического анализатора. Структуры данных, символы действия. Описание семантики перевода. Построение и программная реализация атрибутного преобразователя.

    курсовая работа [128,9 K], добавлен 03.07.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.